class User < ApplicationRecord
VALID_EMAIL_REGEX = /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i
validates :email,
presence: true,
format: { with: VALID_EMAIL_REGEX }
end
HTML:
<%=
f.email_field :email,
placeholder: 'email',
class: "form-control",
id:"user_email",
data: {
parsley_required: "",
parsley_pattern: User::VALID_EMAIL_REGEX,
parsley_type: "email"
}
%>
コンパイル後:
<input placeholder="email" class="form-control" id="user_email" data-parsley-required="" data-parsley-pattern=""(?i-mx:\\A([^@\\s]+)@((?:[-a-z0-9]+\\.)+[a-z]{2,})\\z)"" data-parsley-type="email" type="email" value="" name="user[email]">
働いていません。提案してください
JS RegExpはインライン修飾子と '\ A' /' \ z'アンカーをサポートしていません。 '' data-parsley-pattern''は ''^[^ @ s] + @(?:[-A-Za-z0-9] + \)に設定する必要があります。+ [az] {2、} $ " '。 –
ユーザー定数を推奨値に置き換えました。 44: 'check_options_validity 'で:正規表現またはPROCまたはラムダとして供給されなければならない(例外ArgumentError)と – Rubyist
([JSFiddle]参照ERROR activemodel-5.0.1/LIB/active_model /検証/ format.rbを得http://jsfiddle.net/1tnevy0f/1/)。 –