首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xVal和ViewModel模式--可以做到吗?

xVal和ViewModel模式--可以做到吗?
EN

Stack Overflow用户
提问于 2009-05-19 00:57:29
回答 1查看 428关注 0票数 3

我一直在将xVal添加到NerdDinner应用程序中--到目前为止还不错,我只用一行代码就得到了jQuery.validate的客户端验证,这真的很漂亮。但是我似乎不能让xVal验证一个复杂的对象。假设我有一个如下所示的Dinner对象:

代码语言:javascript
复制
public class Dinner
{
     [Required]
     public string Title { get; set; }
}

和另一个对象,容器:

代码语言:javascript
复制
public class DinnerWrapper
{
     public Dinner Dinner { get; set; }
     public string Name { get; set; }
}

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

代码语言:javascript
复制
<% using (Html.BeginForm())
       { %>
    <fieldset>
        <p>
            <label for="Title">
                Dinner Title:</label>
            <%= Html.TextBox("Title") %>
            <%= Html.ValidationMessage("Title", "*") %>
        </p>
    </fieldset>
    <% } %>
<%=Html.ClientSideValidation<Dinner>()%>

但是当我传递DinnerWrapper时,我不能让它工作-- xVal不会使用下面的设置执行客户端验证:

代码语言:javascript
复制
<% 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应用程序中,但似乎遇到了障碍。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-05-21 18:06:19

原来我不需要修改ClientSideValidation行--它是这样工作的:

代码语言:javascript
复制
<%=Html.ClientSideValidation<Dinner>()%>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/880514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档