Add error message to @Html.ValidationSummary

安稳与你 提交于 2019-12-02 20:22:07

In client-side:

function YourCustomValidator() {
    // do your validation logic here via JavaScript
    return true; // or false based on your validation logic
}
$(document).ready(function () {
    // take your own form-selector like ("form", this)
    $("form", this).first().submit(function () {
        return (YourCustomValidator() && $(this).valid());
    });
});

OR In server-side:

Think you have a model like this:

public class Test {
    [Required]
    [StringLength(100)]
    public string FullName { get; set; }
}

and when you are validating it:

if(ModelState.IsValid) { // default validations run here
    if(/* some custom validations run here, there is an error about "FullName" */){
        // you should set the "key" for Model-Error to "FullName"
        ModelState.AddModelError("FullName","error-message goes here")
    }
    if(/* some custom validations run here, the error is global, not on "FullName" */){
        // you should set the "key" for Model-Error to an empty-string
        ModelState.AddModelError("","error-message goes here")
    }
    // also you can test for model-errors again like this:
    if(ModelState.IsValid) { // if you add any error above, this will be "false"

    }
}

You can do so just adding the Error Message to the ModelState should display the error message for you, provided that you have ValidationSummary() called on your view.

To add the error to the ModelState just do this:

ModelState.AddModelError("ColumnNameOrErrorMessageKeyInState","error message goes here")
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!