jQuery Validateプラグインを使用してWebサイトのフォームをチェックします。ここで検証でルールがチェックされない
<form id ="formCharacteristics" align="center">
<dl>
<dt style="text-align:left; margin-left:120px;"><label for="cpuname">CPU name</label></dt>
<dd><input type="text" id="cpuname" placeholder="Intel 8086"></dd>
<div align="right" style="margin-right:30px">
<button id="buttonSubmitCharacteristics" type="button" onclick = "AddCPU()" >Done</button>
<button type="button" onclick="HideMessage()">Back</button>
</div>
</form>
をチェックするための私のHTMLフォームの一部であり、ここでは、JavaScriptのコードの一部であるAjaxは
AddCPU(){
var form = $('#formCharacteristics');
if(!form.valid())
return;
var CPUname = $('input #cpuname');
....
}
検証は他のフォーム上で正常に動作しますが、このフォームその上を投稿する前に、それは検証を呼び出しますルールをチェックしません。私は同じフォームIDと入力IDを使用しません。 rules
オブジェクトに指定されているjQueryの検証プラグインが正常に機能するためには
$('#formCharacteristics').validate({
rules: {
cpuname: { // <- this is the NAME attribute
required: true,
maxlength: 30,
....
、あなたのinput
必見同じname
含まれています。ここ
はspecifingルール、コードが
$(document).ready(function() {
$('#formCharacteristics').validate({
rules:{
cpuname: {
required: true,
maxlength: 30,
minlength: 4
}
}
});
......
)};
ここで、int 'cpuname'の検証を終了しましたか? 'cpuname'にルールが適用されていないので、フォームが有効です。 –
以前に' form.validate() 'を呼んでから指定しない限り、' form.valid() 'を呼び出すことはできません。ルールおよびその他の検証オプションが含まれます。また、検証プラグインでは、IDだけでなく要素に名前が必要です。 – Barmar
@Barmar、* "私はValidation Pluginを使用しています" * - コードに基づいて、どのプラグインについて話しているのかはっきりしないので、[tag:jquery-validate]でタグ付けした理由がわかりません。 – Sparky