Skip to content

Instantly share code, notes, and snippets.

@goofmint
Created May 16, 2017 01:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save goofmint/cf992d0d67a27e799959289bd4b3a84d to your computer and use it in GitHub Desktop.
Save goofmint/cf992d0d67a27e799959289bd4b3a84d to your computer and use it in GitHub Desktop.
7.md
this.$find('#form1').validate({
// Submitイベントが実行された場合に、自動でバリデーションを実行
onsubmit: true,
// フォーカスが当たった場合に現在のエラー内容を一旦クリア
focusCleanup: true,
// バリデーションルール
rules: {
food: {
required: true
},
conf_tobacco: {
required: true
},
count: {
required: {
depends: '[name="conf_tobacco"][value="male"]:checked'
},
number: {
depends: '[name="conf_tobacco"][value="male"]:checked'
},
min: {
param: 1,
depends: '[name="conf_tobacco"][value="male"]:checked'
},
max: {
param: 999,
depends: '[name="conf_tobacco"][value="male"]:checked'
}
},
lastname: {
required: true
},
firstname: {
required: true
},
email: {
required: true,
email: true
},
url: {
url: true
},
userid: {
required: true,
minlength: 6,
remote: '/exists' // useridをパラメータのキーにして、/existsに結果を問い合わせる (サーバは"true"または"false"の文字列を返す必要がある)
},
pass: {
required: true,
rangelength: [8, 12]
},
conf_pass: {
equalTo: '[name="pass"]'
},
policy: {
required: true
}
},
messages: { // エラー時に表示するメッセージ
food: {
required: '1つ以上選択して下さい。'
},
conf_tobacco: {
required: '「はい」または「いいえ」のいずれかを選択して下さい'
},
count: {
required: '「はい」を選択した場合は、喫煙本数を入力して下さい',
number: '本数は数字で入力して下さい',
min: '{0}以上の値を入力して下さい',
max: '{0}以下の値で入力して下さい'
},
lastname: {
required: '姓を入力して下さい'
},
firstname: {
required: '名を入力して下さい'
},
email: {
required: 'メールアドレスを入力して下さい',
email: '正しいメールアドレスを入力して下さい'
},
url: {
url: '正しいURLを入力して下さい'
},
userid: {
required: 'ユーザIDを入力して下さい。',
minlength: '{0}以上で入力して下さい。',
remote: '入力されたユーザ名は既に使用されています'
},
pass: {
required: 'パスワードを入力して下さい',
rangelength: '{0}以上{1}文字以下で入力して下さい'
},
conf_pass: {
equalTo: 'パスワードが一致しません'
},
policy: {
required: '同意される場合はチェックを入れて下さい'
}
},
// エラーメッセージの表示先を指定する
errorPlacement: function(error, el) {
el.parent().children('.errorMsg').append(error);
},
// エラーがある要素毎に実行するコールバック
showErrors: function(errorMap, errorList) {
this.defaultShowErrors();
},
// 入力項目でエラーがあったときに実行されるハンドラ
highlight: this.ownWithOrg(this.highLightArea),
// エラーが解消されたときに実行されるハンドラ,
unhighlight: this.ownWithOrg(this.unHighLightArea),
// validateのチェックが通り、submitが行われるときに実行するハンドラ
submitHandler: this.ownWithOrg(this.submitHandler),
// validateでエラーが1つでもあると実行されるハンドラ
invalidHandler: this.ownWithOrg(this.invalidHandler),
// 入力項目でエラーが解消されるたびに実行されるハンドラ
success: this.ownWithOrg(this.successHandler)
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment