令和의 동시대에 jQuery로 폼의 유효성 검사를 실행
今 今 時代 時代 の 반응 반응 や vue.js など の の 仮想 dom で で 簡単 に 行える よう よう に なっ て いる ので 、 、 わざわざ わざわざ わざわざ わざわざ も も も も も も も 반응しました.
사타라이브랄리
今回は jQuery Validation Plugin を使用しました.
思ってた10倍は便利なライブラリでした
신풀나 사용 방법
私はCDN으로부터 引っ張ってきたのでこちらを貼り付けるだけです.
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.3/jquery.validate.min.js"></script>
あとは, 스크립팅으로 対象의 형식에 にvalidate関数を仕込んであげるだけ입니다.
<form id=validationForm>
<input name="mail">
....
</form>
<script type="text/javascript">
$(function(){
$('#validationForm').validate({
rules: {
name: {
required: true
},
mail: {
required: true,
email: true,
},
mailConfirm: {
email: true,
equalTo : "#mail"
},
content: {
required: true
},
},
messages: {
name: {
required: '名前を入力してください。',
},
mail: {
required: 'メールアドレスを入力してください。',
email: '有効なメールアドレスを入力してください。'
},
mailConfirm: {
required: '確認メールアドレスを入力してください。',
email: '有効なメールアドレスを入力してください。',
equalTo : 'メールアドレスが一致しません。'
},
content: {
required: '内容を入力してください。',
},
},
});
});
</script>
규칙으로 required
や email
등의 프리셋 の ルールを仕込むことができますし、正規表現でvalidationをかける こともできます(私は使っていないので割愛します)required
は ォームが必須의 場合に使用するルール입니다.email
は有効なメールAddressのvalidation(을)를 해 くれますequalTo
は指定したinput(今回は#mail)to同一の内容かをCHECKしてくれます.
메시지로 유효성 검사를 시작하고 결합하여 메시지를 보내는 메시 지를 확인하는 것입니다.
これで最低限の機能としての実装は終わり입니다.
こちらで動かすと、validation失敗時にinputTAGの直下にラベルが追加されるようになります.
ここで、できればエラーは赤文字にしたいと思うかもしれません.そのためのoption機能も用意してくれています.それがerrorPlacement
と success
で す.
<script type="text/javascript">
$(function(){
$('#validationForm').validate({
rules: {
...
},
messages: {
..
},
},
errorPlacement: function (error, element) {
// あるinputのvalidationに失敗した際に呼ばれる。自分で表示をカスタマイズしたいときに使用する。
// error はエラー時に表示するelement(例: <label>メールアドレスを入力してください。</label>)が入っている
// element にはエラーが発生したelement(例: <input name="mail" ...>)が入っている
// 一例: エラー発生inputの上にあるdivのclass名を --error に変える
const errorElement = element.closest("div")
errorElement.removeClass()
errorElement.addClass('xxxxxx--error')
// 赤文字で表示できるように定義済みのクラス .item__error を使用したエレメントを errorElement の中に append する
const errorMessage = errorElement.children("p")
const customErrorMessage = $($.parseHTML('<span class="item__error">' + error.text() + '</span>'));
errorMessage.append(errorMessageNodes)
},
success: function(error, element) {
// あるinputのvalidationに成功したときに呼ばれる。表示済みのエラーを削除する際に使用する。
// error はエラー時に表示していたelement(例: <label>メールアドレスを入力してください。</label>)が入っている
// element にはエラーが発生していたelement(例: <input name="mail" ...>)が入っている
// divに装飾していたエラー用classを戻してあげる
const errorElement = element.closest("div")
errorElement.removeClass()
errorElement.addClass('xxxxxx')
// 赤文字で表示していたエラー内容を削除する
const errorMessage = errorElement.children("p")
errorMessage.children(".item__error").remove()
});
});
</script>
以上でうまくvalidationsる ことができました.
Reference
이 문제에 관하여(令和의 동시대에 jQuery로 폼의 유효성 검사를 실행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/kabuakantech/ling-he-noshi-dai-nijquerydehuomunovalidationwoxing-u-1563
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
私はCDN으로부터 引っ張ってきたのでこちらを貼り付けるだけです.
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.3/jquery.validate.min.js"></script>
あとは, 스크립팅으로 対象의 형식에 にvalidate関数を仕込んであげるだけ입니다.
<form id=validationForm>
<input name="mail">
....
</form>
<script type="text/javascript">
$(function(){
$('#validationForm').validate({
rules: {
name: {
required: true
},
mail: {
required: true,
email: true,
},
mailConfirm: {
email: true,
equalTo : "#mail"
},
content: {
required: true
},
},
messages: {
name: {
required: '名前を入力してください。',
},
mail: {
required: 'メールアドレスを入力してください。',
email: '有効なメールアドレスを入力してください。'
},
mailConfirm: {
required: '確認メールアドレスを入力してください。',
email: '有効なメールアドレスを入力してください。',
equalTo : 'メールアドレスが一致しません。'
},
content: {
required: '内容を入力してください。',
},
},
});
});
</script>
규칙으로
required
や email
등의 프리셋 の ルールを仕込むことができますし、正規表現でvalidationをかける こともできます(私は使っていないので割愛します)required
は ォームが必須의 場合に使用するルール입니다.email
は有効なメールAddressのvalidation(을)를 해 くれますequalTo
は指定したinput(今回は#mail)to同一の内容かをCHECKしてくれます.메시지로 유효성 검사를 시작하고 결합하여 메시지를 보내는 메시 지를 확인하는 것입니다.
これで最低限の機能としての実装は終わり입니다.
こちらで動かすと、validation失敗時にinputTAGの直下にラベルが追加されるようになります.
ここで、できればエラーは赤文字にしたいと思うかもしれません.そのためのoption機能も用意してくれています.それが
errorPlacement
と success
で す.<script type="text/javascript">
$(function(){
$('#validationForm').validate({
rules: {
...
},
messages: {
..
},
},
errorPlacement: function (error, element) {
// あるinputのvalidationに失敗した際に呼ばれる。自分で表示をカスタマイズしたいときに使用する。
// error はエラー時に表示するelement(例: <label>メールアドレスを入力してください。</label>)が入っている
// element にはエラーが発生したelement(例: <input name="mail" ...>)が入っている
// 一例: エラー発生inputの上にあるdivのclass名を --error に変える
const errorElement = element.closest("div")
errorElement.removeClass()
errorElement.addClass('xxxxxx--error')
// 赤文字で表示できるように定義済みのクラス .item__error を使用したエレメントを errorElement の中に append する
const errorMessage = errorElement.children("p")
const customErrorMessage = $($.parseHTML('<span class="item__error">' + error.text() + '</span>'));
errorMessage.append(errorMessageNodes)
},
success: function(error, element) {
// あるinputのvalidationに成功したときに呼ばれる。表示済みのエラーを削除する際に使用する。
// error はエラー時に表示していたelement(例: <label>メールアドレスを入力してください。</label>)が入っている
// element にはエラーが発生していたelement(例: <input name="mail" ...>)が入っている
// divに装飾していたエラー用classを戻してあげる
const errorElement = element.closest("div")
errorElement.removeClass()
errorElement.addClass('xxxxxx')
// 赤文字で表示していたエラー内容を削除する
const errorMessage = errorElement.children("p")
errorMessage.children(".item__error").remove()
});
});
</script>
以上でうまくvalidationsる ことができました.
Reference
이 문제에 관하여(令和의 동시대에 jQuery로 폼의 유효성 검사를 실행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kabuakantech/ling-he-noshi-dai-nijquerydehuomunovalidationwoxing-u-1563텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)