相关疑难解决方法(0)

ASP.NET MVC条件验证

如何使用数据注释对模型进行条件验证?

例如,假设我们有以下模型(Person和Senior):

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

    public bool IsSenior
    {
        get;
        set;
    }

    public Senior Senior
    {
        get;
        set;
    }
}

public class Senior
{
    [Required(ErrorMessage = "*")]//this should be conditional validation, based on the "IsSenior" value
    public string Description
    {
        get;
        set;
    }
}
Run Code Online (Sandbox Code Playgroud)

以下观点:

<%= Html.EditorFor(m => m.Name)%>
<%= Html.ValidationMessageFor(m => m.Name)%>

<%= Html.CheckBoxFor(m => m.IsSenior)%>
<%= Html.ValidationMessageFor(m => m.IsSenior)%>

<%= Html.CheckBoxFor(m => m.Senior.Description)%>
<%= Html.ValidationMessageFor(m => m.Senior.Description)%> …
Run Code Online (Sandbox Code Playgroud)

c# forms validation asp.net-mvc

122
推荐指数
7
解决办法
14万
查看次数

不引人注目的验证不适用于动态内容

我在尝试使用不显眼的jquery验证来处理通过AJAX调用动态加载的局部视图时遇到问题.

我花了几天时间试图让这段代码运转起来没有运气.

这是视图:

@model MvcApplication2.Models.test

@using (Html.BeginForm())
{
 @Html.ValidationSummary(true);
 <div id="res"></div>
 <input id="submit" type="submit" value="submit" />
}
Run Code Online (Sandbox Code Playgroud)

部分视图:

@model MvcApplication2.Models.test

@Html.TextAreaFor(m => m.MyProperty);
@Html.ValidationMessageFor(m => m.MyProperty);

<script type="text/javascript" >
  $.validator.unobtrusive.parse(document);
</script>
Run Code Online (Sandbox Code Playgroud)

该模型:

  public class test
  {
    [Required(ErrorMessage= "required field")]
    public int MyProperty { get; set; }
  }
Run Code Online (Sandbox Code Playgroud)

控制者:

    public ActionResult GetView()
    {
        return PartialView("Test");
    }
Run Code Online (Sandbox Code Playgroud)

最后,javascript:

$(doument).ready(function () {
$.ajax({
    url: '/test/getview',
    success: function (res) {

        $("#res").html(res);
        $.validator.unobtrusive.parse($("#res"));
    }
});

$("#submit").click(function () {
    if ($("form").valid()) {
        alert('valid');
        return true;
    } …
Run Code Online (Sandbox Code Playgroud)

unobtrusive-validation asp.net-mvc-4

93
推荐指数
4
解决办法
6万
查看次数

如何从服务器端验证属性插入自定义错误消息

我正在使用自定义验证属性并希望显示我的验证消息,我将在其中指定一个名称,如下所示:

return new ValidationResult(FormatErrorMessage("Hobbies"));
Run Code Online (Sandbox Code Playgroud)

我发现这个 html 在页面上:

<span data-valmsg-replace="true" data-valmsg-for="Hobbies" class="field-validation-valid text-danger"></span>
Run Code Online (Sandbox Code Playgroud)

当我像这样从类的IsValid函数返回消息时ValidationAttribute

return new ValidationResult(FormatErrorMessage("Hobbies"));
Run Code Online (Sandbox Code Playgroud)

在我指定名称“爱好”的地方,应该将其添加到

<span data-valmsg-for="Hobbies">
Run Code Online (Sandbox Code Playgroud)

为什么没有添加我的错误信息?

如果你想让我粘贴完整的代码,请告诉我。

validation asp.net-mvc

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