MVC 5中的范围属性未按预期工作

时间:2017-04-21 06:36:01

标签: asp.net-mvc-5 range unobtrusive-validation

我正在通过做一个示例项目来学习MVC(第5版)。因此,我没有使用任何脚手架,从头开始做任何事情。我有一个View Model,它有一个Password字段,其中包含以下验证。

    mWebView.setWebViewClient(new WebViewClient() {
        @Override
        public void onReceivedHttpAuthRequest(WebView view,HttpAuthHandler handler,String host, String realm) {
            handler.proceed("username", "password");
        }
        });

现在在我的.cshtml中,我有一个使用@ Html.EditorFor呈现的密码文本框。由于我正在学习,我没有添加任何CSS。我在cshtml文件中添加了对jquery-1.10.2.js,jquery.validate.js和jquery.validate.unobstrusive.js的引用。除上述密码字段外,验证工作正常。如果我在密码文本框中只输入1个字符,则验证通过,而除此之外的任何内容都会失败,这很奇怪。我无法理解这一点。有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:1)

当您将其用作字符串时,请使用以下方法

[StringLength(4, MinimumLength = 1, ErrorMessage = "{0} has to be between {1} and {2} characters.")]

你所做的是范围内的指定值,所以当你在字段中输入 1到4 时,如果你将 5 设置为无效,则它无效,因为它超出范围

如果您需要的长度不是实际值,则应在属性上使用字符串长度

希望这能解决问题