カスタム検証属性が作成されました。クライアント側でも同様に機能するようにしたいと考えています。こちらのモデルクラスはjQueryのmvc3カスタム検証属性がクライアント側で検証されない
public class CreditCardAttribute : ValidationAttribute, IClientValidatable
{
public override bool IsValid(object value)
{
var number = Convert.ToString(value);
return IsValidNumber(number);
}
private bool IsValidNumber(string number)
{
int[] DELTAS = new int[] { 0, 1, 2, 3, 4, -4, -3, -2, -1, 0 };
int checksum = 0;
char[] chars = number.ToCharArray();
for (int i = chars.Length - 1; i > -1; i--)
{
int j = ((int)chars[i]) - 48;
checksum += j;
if (((i - chars.Length) % 2) == 0)
checksum += DELTAS[j];
}
return ((checksum % 10) == 0);
}
public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
{
yield return new ModelClientValidationRule {
ErrorMessage = this.ErrorMessage,
ValidationType = "CreditCard"
};
}
}
です:私はCreditCardTestに行くべきかわからない
jQuery.validator.addMethod('CreditCardtest', function (value, element, params)
{
return false;
});
jQuery.validator.unobtrusive.adapters.add('CreditCard', { }, function(options){
options.rules['CreditCardtest'] = true;
options.messages['CreditCardtest'] = options.message;
});
、私はここにするために、私はモデルを持っているものを書き直したいですか?
あなたは、クライアント側の検証したい場合は
あなたは本当にJavaScriptでクレジットカードの検証アルゴリズムをコーディングしたいですか?それは秘密ではありませんが、私には全く役に立たないようです。 –
私はしませんが、これをどのように機能させることができますか? –
C#コードをjavascriptに変換する方法について質問していますか? –