2

フィールドが空であるかどうかを別のフィールドに従って判断するために、カスタム ValidationAttribute "RequiredIf" を作成しました。アダプターを作成し、メソッドを追加しました。

例を次に示します: http://anthonyvscode.com/2011/07/14/mvc-3-requiredif-validator-for-multiple-values/

問題は、プロパティに必要以上のメタデータがあり、プロパティが Int32 であることです。そのため、フォームがクライアントで検証された場合、値が数値の場合は最初に評価され、値が空の場合は評価されます。

        [Display(Name = "Number of cars")]
        [RequiredIf("IsRent", true, ErrorMessage = "Number of cars is required")]
        [Range(0, 9, ErrorMessage = "Error range")]            
        public virtual Int32? NumberCars
        {
            set;
            get;
        }

どうすれば修正できますか?規則の正しい順序は、if、number、および range である必要があります。

4

0 に答える 0