gpt4 book ai didi

ASP.NET MVC5 : Unobtrusive validation during the filling out of the form field

转载 作者:行者123 更新时间:2023-12-02 17:09:23 25 4
gpt4 key购买 nike

我想在填写表单字段期间启动验证元素。
如果我创建一个包含简单模型的简单 MVC 应用程序:

public class SimpleModel
{
[RegularExpression("[A-Z][a-z]+")]
[Required]
public string FirstName { get; set; }

[RegularExpression("[A-Z][a-z]+")]
[Required]
public string LastName { get; set; }
}


对于这个模型,我为此模型创建了相应的 Controller 和 View (Razor 使用模板编辑)。
此时,一切都按其应有的方式进行。但仅在单击“保存”按钮(提交表单)时,而不是在填写字段时。这就是为什么我想在脚本部分实现验证器的 onkeyup 操作:

@section Scripts
{
@Scripts.Render("~/bundles/jqueryval")

<script type="text/javascript">

$('form').validate(
{
onkeyup: function (element)
{
$.validator.unobtrusive.parseElement(element, true);
}
});

</script>
}


但它不起作用,原始验证也不起作用(现在,如果我单击“保存”,则会提交表单,因为有效的altrough字段未填写或填写不正确)。
如果我只使用原始验证则不起作用 $('form').validate(); 或者 $('form').valid(); 命令。也许有趣的是 $('form').valid(); 尽管表单未填写因此无效,但返回 true。

最佳答案

解决方案非常简单。只要意识到,在不引人注目的初始化之后就可以使用脚本进行验证。此初始化是通过注册新的 jquery 就绪函数来执行的 - 在底部的 jquery.validate.unobtrusive.js 中,您可以找到以下代码:

$(function () {
$jQval.unobtrusive.parse(document);
});

因此,如果必须进行额外的初始化,则必须创建自己的就绪函数并插入必要的代码。

出于上述问题中提到的目的,您可以使用以下代码:

@section Scripts 
{
@Scripts.Render("~/bundles/jqueryval")

<script type="text/javascript">

$(function ()
{
var validator = $('form').validate();
validator.form();
});

</script>
}

关于ASP.NET MVC5 : Unobtrusive validation during the filling out of the form field,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28631568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com