标签: unobtrusive-validation

在Backbone.js视图上调用jQuery Unobtrusive验证

当动态解析要使用jQuery不显眼的验证插件验证的html时,不会显示验证消息.Js摆弄显示问题如下

的jsfiddle

http://jsfiddle.net/R92Yn/2/

render: function () {
    var tmpl = _.template(this.template);
    $.validator.unobtrusive.parse(tmpl);
    this.$el.html(tmpl);
    return this;
},
validateForm: function () {
    //$(this.$el).validate();
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试显示单击"验证"按钮时需要usernaem的错误消息.但是没有任何反应,也是在模糊了控制台中可见的js错误之后.那么我如何使验证与Backbone.js视图一起工作

validation jquery unobtrusive-validation backbone.js

2
推荐指数
1
解决办法
1690
查看次数

ASP.NET MVC中不引人注意的客户端验证仍然提交表单

我正在使用ASP MVC 4并且我同时启用了ClientValidationEnabled和UnobtrusiveJavaScriptEnabled appSettings,但是当我提交具有不显眼的验证数据属性的表单时,即使它无效也会提交.出现验证消息,但表单仍然提交.

当然,我的浏览器启用了JavaScript.

javascript asp.net-mvc unobtrusive-validation asp.net-mvc-4

2
推荐指数
2
解决办法
4729
查看次数

MVC4:在验证错误时,将文本框颜色更改为红色

我有一个包含一些文本框的表单,当文本框不包含有效值时,我收到错误消息,但文本框颜色不会更改为红色。

这就是我所拥有的

模型

public class AddCompany
{
    public int Id { get; set; }

    [Required(ErrorMessage = "*Name is required")]
    public string Name { get; set; }

    [Required(ErrorMessage = "*Address is required")]
    [RegularExpression(@"^\(?([0-9]{4})\)?([A-Z]{2})",ErrorMessage = "*Not a valid Zip Code, Must be in format 1234AB")]
    public string Address { get; set; }

    [Required(ErrorMessage = "*Phone Number is required")]
    [DataType(DataType.PhoneNumber)]
    [RegularExpression(@"^\(?([0-9]{10})", ErrorMessage = "*Not a valid number, must be 10 numbers")]
    public string Phone { get; set; }

    [DataType(DataType.DateTime)]
    public DateTime DateTimeAdded { …
Run Code Online (Sandbox Code Playgroud)

css asp.net-mvc jquery-validate unobtrusive-validation asp.net-mvc-4

2
推荐指数
1
解决办法
9719
查看次数

自定义不显眼的验证器不触发

我的 ASP.NET MVC 项目中有一个自定义的不显眼的验证器。我在特定属性上允许该属性的多个实例。一切似乎都正确渲染。属性的每个实例都包含附加到它的另一个小写字母。因此,当它呈现时,它可能类似于data-val-myvalidatoradata-val-myvalidatorb

在客户端,我选择了所有希望添加不显眼的验证器的输入,获取属性,检查额外的小写字母,而不是为每个实例添加新方法和适配器。

如果我运行 F12,我可以看到如果我检查$.validator.methods,我的方法被添加。但是,如果我输入应该失败的数据并点击表单的提交按钮,我的验证器不会验证。我的验证方法是在一个独立的函数中。如果我添加断点,则不会命中。

我能做些什么来确保方法连接正确?

我注意到的另一个问题是,我在属性级别有一个字典来确定将属性添加到 HTML 输入元素的次数。但是,在每次后续回发时,字典都不会重置。我的猜测是我应该覆盖其他一些方法,但我无法确定它是哪个。

asp.net-mvc jquery-validate unobtrusive-validation

2
推荐指数
1
解决办法
982
查看次数

使用动态加载的局部视图进行不显眼的验证

我正在按钮点击加载部分视图

 function loadview(ele) {
        if (ele == 'account') {
           $('#updateprofile').load('@Url.Action("UpdateProfile", "Account")');
           $.validator.unobtrusive.parse($("#updateprofile"));
        }

        if (ele == 'password') {
           $('#changepassword').load('@Url.Action("ChangePassword", "Account")');
           $.validator.unobtrusive.parse($("#changepassword"));                
        }
   }
Run Code Online (Sandbox Code Playgroud)

验证不适用于ajax请求加载的部分视图.但它适用于@Html.Partial("ChangePassword", Model.changepassword)

任何帮助;

unobtrusive-validation asp.net-mvc-4

2
推荐指数
1
解决办法
833
查看次数

与任何html标记都不匹配的正则表达式

我对regexp真的很不好,我想要的是一个不匹配任何html标记(用于用户输入验证)的regexp。

我想要的是负面的:

<[^>]+>
Run Code Online (Sandbox Code Playgroud)

我现在有的是

public class MessageViewModel
{
    [Required]
    [RegularExpression(@"<[^>]+>", ErrorMessage = "No html tags allowed")]
    public string UserName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

但这与我想要的相反-只能使用html标签的用户名

c# regex asp.net-mvc unobtrusive-validation

2
推荐指数
1
解决办法
2901
查看次数

jquery validate不显示错误消息

我搜索过类似的问题并没有找到任何快乐.验证在send函数中的逻辑方面有效,但验证元素后面的范围在无效时不显示错误消息.我甚至试过传递errorPlacement,但唯一有效的是如果我特意设置它就像这样

$("#msgvalid").text($("#msg").attr("data-val-required"));
Run Code Online (Sandbox Code Playgroud)

相关的HTML是

<form id="frmSend" style="margin-top:15px">
Add Comment:
<div>
<textarea id="msg" data-val="true" data-val-required="The comment cannot be blank." placeholder="Enter comment here" style="height:50px;width:300px"></textarea>
<span id="msgvalid" class="field-validation-valid text-danger" data-valmsg-for="msg" data-valmsg-replace="true"></span>
</div>
<button type="button" onclick="send();" class="btn-default" style="margin-top:10px">Send Comment</button>
</form>
<script src="/Scripts/jquery-1.10.2.js"></script>
<script src="/Scripts/bootstrap.js"></script>
<script src="/Scripts/respond.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
Run Code Online (Sandbox Code Playgroud)

和相关的JavaScript是

<script type="text/javascript">
function send() {
$("#frmSend").validate();
if (!$("#frmSend").valid()) { return false; }
alert("Would send");
}
</script>
Run Code Online (Sandbox Code Playgroud)

jquery jquery-validate unobtrusive-validation

2
推荐指数
1
解决办法
2601
查看次数

使用ViewModel中的DataAnnotations在ASP.NET MVC中进行日期验证

我的页面的ViewModel中有一个DateTime属性.我想知道是否有内置的检查用户输入有效日期的方法.

以下是我当前代码的样子,截至目前,它不会自动确保用户输入有效日期(只需要验证):

ViewModel属性:

[Required]
[DataType(DataType.Date)]
public DateTime MyDate{ get; set; }
Run Code Online (Sandbox Code Playgroud)

Razor MVC6观点:

<label asp-for="MyDate" class="control-label"></label>
<input asp-for="MyDate" class="form-control" />
<span asp-validation-for="MyDate" class="text-danger" />
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc data-annotations unobtrusive-validation

2
推荐指数
1
解决办法
4448
查看次数

为子集合验证动态添加的输入元素

我正在使用带有不显眼验证的 Asp.Net Core MVC。我有一个表单,它允许为子集合动态添加输入元素,我想在客户端验证中包含这些元素。我已经看到了一些以前的解决方案,例如将 jQuery 验证器规则添加到 ASP 中动态创建的元素,但客户端验证仍然没有发生。

这是我的代码。首先,当单击按钮时,将克隆一个 html 块并将其附加到表单列表中。

<li class="newVideoRow well-sm">
    <div>
        <input type="hidden" name="Videos.Index" value="#" />
        <label>Video Title:</label>
        <input name="Videos[#].VideoTitle" class="videoTitle form-control inline" placeholder="Enter a short title for this video" value="" />
    </div>
    <div>
        <label>Video Link:</label>
        <input name="Videos[#].VideoUri" type="url" class="videoUri form-control inline" value="http://" />
    </div>
</li>
Run Code Online (Sandbox Code Playgroud)

然后,克隆列表项元素的 jQuery 操作 [#] 索引添加验证属性,并可能重新解析不显眼的验证器。

        $('#addNewVideo').click(function(){
            var nr = $('.newVideoRow').clone();
            nr.removeClass('newVideoRow').addClass('videoRow');
            var index = (new Date).getTime();
            $(nr).find('div input').each(function(divIndex, divElement){
                $(divElement).attr('name', $(divElement).attr('name').replace('#', index));
                var inputName = $(divElement).attr('name');
                if ($(divElement).attr('type') …
Run Code Online (Sandbox Code Playgroud)

jquery unobtrusive-validation asp.net-core-1.0

2
推荐指数
1
解决办法
1724
查看次数

ASP.NET Core 不显眼的客户端验证表单即使在验证失败时也会触发

注意:这与 .NET Core v2.0 有关。您可能会找到相关帖子,但它们没有解决我面临的问题。

我正在使用以下代码应用Unobtrusive Client 端验证:

<form asp-route-returnurl="@ViewData["ReturnUrl"]" method="post" onsubmit="showPleaseWait()" >
    <div asp-validation-summary="All" class="text-danger"></div>
    <div class="form-group">
        <label asp-for="Username" class="control-label"></label>
        <input asp-for="Username" class="form-control" placeholder="Username"  />
        <span asp-validation-for="Username" class="text-danger"></span>
    </div>
    <div class="form-group">
        <label asp-for="Password" class="control-label"></label>
        <input asp-for="Password" value="" class="form-control" placeholder="Password" />
        <span asp-validation-for="Password" class="text-danger"></span>
    </div>
    <div class="form-group">
        <button type="submit"  class="btn btn-success btn-lg" style="margin:auto;display:block">Log in</button>
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

好消息是它在客户端执行验证。

但是,form.onsubmit即使验证失败,也会触发事件。结果我的showPleaseWait方法被调用。我认为不应该调用它,因为由于验证失败,表单尚未提交。

下面是模型:

public class LoginViewModel
{
    [Required]        
    public string Username { get; set; }

    [Required]
    [DataType(DataType.Password)]
    public …
Run Code Online (Sandbox Code Playgroud)

c# asp.net jquery unobtrusive-validation asp.net-core

2
推荐指数
1
解决办法
1677
查看次数