MVC3----自定义客户端验证
1,自定义验证类:

10年积累的网站制作、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先建设网站后付款的网站建设流程,更有黄南州免费网站建设让你可以放心的选择与我们合作。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
namespace SchoolManageDomw.Models
{
public class ZDMaxLength : ValidationAttribute,IClientValidatable
{
private int MaxLength;
public ZDMaxLength(int maxlength)
: base("{0}字符长度过长")
{
this.MaxLength = maxlength;
}
///
/// 服务端验证方法
///
///
///
///
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
if (value != null)
{
if (Convert.ToInt32(value.ToString().Length) > MaxLength)
{
return new ValidationResult(FormatErrorMessage(validationContext.DisplayName));
}
}
return ValidationResult.Success;
}
#region IClientValidatable 成员
///
/// 实现IClientValidatable接口。客户端验证方法
///
///
///
///
public IEnumerable GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
{
var rule = new ModelClientValidationRule();
rule.ErrorMessage = FormatErrorMessage("客户端" + metadata.GetDisplayName());
rule.ValidationType = "zdmaxlength";
rule.ValidationParameters.Add("maxlength", MaxLength);
yield return rule;
}
#endregion
}
} 2,使用自定义验证类:
[ZDMaxLength(3)]
public string Name { get; set; }3,视图代码:
①:需要引用两个脚本和一个自定义脚本:
②:zd.js
////代码提示 ////// /// //zdmaxlength:验证器名称,需要匹配ValidationType //value:输入值 //element:输入元素 //zdmaxlength:验证参数 $.validator.addMethod("zdmaxlength", function (value, element, zdmaxlength) { if (value) { if (value.toString().length > zdmaxlength) { alert(value.toString().length + "." + zdmaxlength); return false; } } return true; }); $.validator.unobtrusive.adapters.addSingleVal("zdmaxlength", "maxlength");
当前文章:MVC3----自定义客户端验证
地址分享:http://www.jxjierui.cn/article/igecep.html


咨询
建站咨询
