Javascript 使用JQuery验证Razor视图中的字段

Javascript 使用JQuery验证Razor视图中的字段,javascript,c#,jquery,asp.net-mvc,razor,Javascript,C#,Jquery,Asp.net Mvc,Razor,我试图对Razor视图中的字段使用自定义JQuery验证,但我不知道如何将该字段与JQuery函数关联,我使用过JQuery,但使用的是html页面和表单,而不是Razor视图中的HtmlHelpers 这是我想要验证的字段(我在同一页面中引用了我需要验证的JQuery.js) 我试着在它里面放一个id,将EditorFor改为TextBoxFor,然后从JQuery函数调用它,但没有成功 @Html.TextBoxFor(model => model.Name, new { id="

我试图对Razor视图中的字段使用自定义JQuery验证,但我不知道如何将该字段与JQuery函数关联,我使用过JQuery,但使用的是html页面和表单,而不是Razor视图中的HtmlHelpers 这是我想要验证的字段(我在同一页面中引用了我需要验证的JQuery.js)

我试着在它里面放一个id,将EditorFor改为TextBoxFor,然后从JQuery函数调用它,但没有成功

  @Html.TextBoxFor(model => model.Name, new { id="artistName", htmlAttributes = new { @class = "form-control" } })
这是我在JQuery中使用的函数,但我找不到如何将其绑定到Html帮助程序:

$(document).ready(function () {
    $("#artistName").on("blur",function(){
        if ($(this).val().match('^[a-zA-Z]{3,16}$')) {
            alert("Valid name");
        }
        else {
            alert("That's not a name");
        }
    })
})

删除id属性并使用$(“#Name”)作为选择器

@Html.TextBoxFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })

           $("#Name").on("blur",function(){
               if ($(this).val().match('^[a-zA-Z]{3,16}$')) {
                   alert("Valid name");
               }
               else {
                   alert("That's not a name");
               }
           })

是否绝对有必要使用Javascript进行验证?可以使用数据注释验证字段。请调查一下


如果您确实需要使用jquery,那么请查看jquery验证插件

是的,我已经使用数据注释进行了验证,但我想知道如何使用自定义JQuery验证字段,而不使用插件。应该是有问题的,因为它不工作,我可以在文本框中输入任何内容,然后发送到数据库而不会出现问题。还有一个想法。您也可以将此验证代码放在“提交”按钮的“单击”事件中,而不是放在文本框的“模糊”事件中。使用“提交”按钮效果很好,我不知道TextboxFor字段上的“模糊”事件发生了什么,我更喜欢使用“模糊”事件进行即时验证。。。我会努力找出我不知道发生了什么我猜我更新的网页不正确,但它现在就这样工作!!!
@Html.TextBoxFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })

           $("#Name").on("blur",function(){
               if ($(this).val().match('^[a-zA-Z]{3,16}$')) {
                   alert("Valid name");
               }
               else {
                   alert("That's not a name");
               }
           })