45 lines
1.3 KiB
C#
45 lines
1.3 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using System.Web.Mvc;
|
|
namespace WX.CRM.Common.MvcValidation
|
|
{
|
|
/// <summary>
|
|
/// 用来禁止属性某个值的输入
|
|
/// </summary>
|
|
public sealed class NoInputAttribute : ValidationAttribute, IClientValidatable
|
|
{
|
|
public string Input { get; set; }
|
|
|
|
public NoInputAttribute(string input)
|
|
{
|
|
this.Input = input;
|
|
}
|
|
|
|
public override bool IsValid(object value)
|
|
{
|
|
//如果没有输入值,放行
|
|
if (value == null)
|
|
{
|
|
return true;
|
|
}
|
|
if (value is string)
|
|
{
|
|
if (Input.IndexOf("[" + value.ToString() + "]") > -1)
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
public System.Collections.Generic.IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
|
|
{
|
|
ModelClientValidationRule rule = new ModelClientValidationRule
|
|
{
|
|
ValidationType = "noinput",
|
|
ErrorMessage = FormatErrorMessage(metadata.GetDisplayName())
|
|
};
|
|
rule.ValidationParameters["input"] = Input;
|
|
yield return rule;
|
|
}
|
|
}
|
|
} |