62,046
社区成员
发帖
与我相关
我的任务
分享
public class TipAttribute : ValidationAttribute, IClientValidatable
{
private string _tip = string.Empty;
public TipAttribute(string tip)
{
_tip = tip;
}
public override bool IsValid(object value)
{
return true;
}
public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
{
ModelClientValidationRule validationRule = new ModelClientValidationRule()
{ ValidationType = "tip", ErrorMessage = _tip };
yield return validationRule;
}
}
onfocusin: function (element, event) {
this.lastActive = element;
var tip = $(element).attr("data-val-tip");
var $span = $("span[data-valmsg-for='" + element.id + "']");
$span.attr("class", "field-validation-tip");
$span.text(tip);
// hide error label and remove error class on focus if enabled
// if (this.settings.focusCleanup && !this.blockFocusCleanup) {
// this.settings.unhighlight && this.settings.unhighlight.call(this, element, this.settings.errorClass, this.settings.validClass);
// this.addWrapper(this.errorsFor(element)).hide();
// }
},
highlight: function (element, errorClass, validClass) {
var $span = $("span[data-valmsg-for='" + element.id + "']");
$span.removeClass("field-validation-tip");
if (element.type === 'radio') {
this.findByName(element.name).addClass(errorClass).removeClass(validClass);
} else {
$(element).addClass(errorClass).removeClass(validClass);
}
},
unhighlight: function (element, errorClass, validClass) {
var $span = $("span[data-valmsg-for='" + element.id + "']");
$span.removeClass("field-validation-tip");
if (element.type === 'radio') {
this.findByName(element.name).removeClass(errorClass).addClass(validClass);
} else {
$(element).removeClass(errorClass).addClass(validClass);
}
}