2014-01-18 17 views
7

フォームを検証するためにjQuery検証プラグインを使用しています。jQuery Validateチェックボックスがオンになっている必要がありますか?

<label for="terms">terms : </label> 
<input type="checkbox" name="terms" id="terms"> 

のjQueryコード:

rules: { 
    terms: "required" 
}, 
messages:{ 
    terms: "check the checbox" 
} 

問題は、私の形で、単一のチェックボックスが

HTMLマークアップ

をチェックされている場合、私は検証する方法を見つけることができないということですどんな助けもありがとう。

+1

。あなたは* J *クエリーを意味しますか? –

+1

@IanClark彼は、質問の真ん中で、タイトルとタグでjQueryを言った。すべての合理的な読者は、最初の行の行方不明のjは単に誤植であることに気付くでしょう。 – Barmar

+0

申し訳ありませんタグを忘れました - jQueryを編集で追加したことがわかりました。私は賢明にしようとしていませんでした。 –

答えて

4

チェックボックスに値を指定する必要があります。

<input type="checkbox" name="terms" id="terms" value="accepted"> 
+1

これは私の問題を解決しませんでした。 私は別の方法で取り組むことに決めました - チェックボックスがオフの場合、送信ボタンを無効にします。とにかくお返事ありがとうございます。 –

4

HTMLマークアップ:

<label for="terms">terms : </label> 
    <input type="checkbox" name="terms" value="1" id="terms"> 

のjQueryコード:

rules: { 
     terms: { 
     required : true 
     } 

    }, 
    messages:{ 
     terms: { 
     required : "check the checbox" 
     } 
    } 

jsfiddle:http://jsfiddle.net/mZ6zJ/

4

たぶんあなたのチェックボックスがあり、CSSスタイル

display: none 

それは私に助け

visibility: hidden; 
width: 0; 

に交換してください。

-3

私は単にC#で自分の注釈を作成し、それをjQueryの検証と照合しました。今、私はちょうどこれが現れるすべてのチェックボックスに注釈をつけます。 C#を使用していない場合は、適用したい要素に簡単にクラスを追加することができます。

[System.AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false)] 
public class CheckboxRequired : ValidationAttribute, IClientValidatable 
{ 
    protected override ValidationResult IsValid(object value, ValidationContext validationContext) 
    { 
     if (value.GetType() != typeof(bool) || (bool)value == true) 
      return ValidationResult.Success; 
     return new ValidationResult("This checkbox must be checked."); 
    } 

    public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context) 
    { 
     var rule = new ModelClientValidationRule 
     { 
      ErrorMessage = "This checkbox must be checked.", 
      ValidationType = "CheckboxRequired" 
     }; 
     yield return rule; 
    } 
} 

そして、私のValidation.js

jQuery.validator.addMethod("CheckboxRequired", function (value, element) { 
return (value != typeof undefined && value != false);}); 
jQuery.validator.addClassRules("CheckboxRequired", { CheckboxRequired: true}); 
0

にあなたは、文書準備jQueryの方法と検証チェックであなたのコードをラップする必要があります。

$().ready(function() { 
    $('#formId').validate({ 
    rules: { 
     terms: "required" 
     }, 
     messages:{ 
     terms: "check the checbox" 
     } 
    }) 
}) 

私は、これは

を役に立てば幸い
0

チェックボックスの例Jquery検証

HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/jquery.validate.js"></script> 
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/jquery.validate.min.js"></script> 

<form id="demo"> 
<label for="terms">terms : </label> 
<input type="checkbox" name="terms[]" value="your value" id="terms"> 
</form> 
  • 角括弧でチェックボックスの名前を付けます。
  • チェックボックスに値を入力する必要があります。何のことをいっているのプラグイン

のjQueryコード

$(document).ready(function() { 
    $("#demo").validate({ 
     rules: { 
       'terms[]': { required: true }, 
     }, 
     messages:{ 
       'terms[]': "check the checbox" 
     } 
    }); 
}); 
関連する問題