gpt4 book ai didi

asp.net-mvc - xVal 和 ViewModel 模式——可以做到吗?

转载 作者:行者123 更新时间:2023-12-01 08:01:22 26 4
gpt4 key购买 nike

我一直在将 xVal 添加到 NerdDinner 应用程序中 - 到目前为止一切顺利,我在一行中使用 jQuery.validate 进行了客户端验证,这真的很漂亮。但我似乎无法让 xVal 验证一个复杂的对象。假设我有一个看起来像这样的 Dinner 对象:

public class Dinner
{
[Required]
public string Title { get; set; }
}

和另一个对象,一个容器:

public class DinnerWrapper
{
public Dinner Dinner { get; set; }
public string Name { get; set; }
}

如果我的 Controller 将 Dinner 传递给 View ,我可以让 xVal 在我的表单末尾执行客户端验证,如下所示:

<% using (Html.BeginForm())
{ %>
<fieldset>
<p>
<label for="Title">
Dinner Title:</label>
<%= Html.TextBox("Title") %>
<%= Html.ValidationMessage("Title", "*") %>
</p>
</fieldset>
<% } %>
<%=Html.ClientSideValidation<Dinner>()%>

但是当我通过 DinnerWrapper 时我无法让它工作 - xVal 不使用以下设置执行客户端验证:

<% using (Html.BeginForm())
{ %>
<fieldset>
<p>
<label for="Title">
Dinner Title:</label>
<%= Html.TextBox("Title", Model.Dinner.Title) %>
<%= Html.ValidationMessage("Title", "*") %>
</p>
</fieldset>
<% } %>
<%=Html.ClientSideValidation<DinnerWrapper>()%>

有什么想法吗?到目前为止,我已经成功地将 xVal(和 NHaml)集成到 NerdDinner 应用程序中,但我似乎遇到了障碍。

最佳答案

事实证明我不必更改 ClientSideValidation 行 - 它的工作方式如下:

<%=Html.ClientSideValidation<Dinner>()%>

关于asp.net-mvc - xVal 和 ViewModel 模式——可以做到吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/880514/

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