【发布时间】:2017-01-19 08:33:31
【问题描述】:
我目前正在开发一个使用 C# 和 Asp.Net MVC 开发的应用程序。我有一个分为两部分的表格。如果单击,则每个都有 3 个提交按钮,当然会执行客户端验证并抱怨是否需要一个或多个输入。
点击次数如下:
- 提交 - 验证不应该是表单的前半部分
- 保存 - 无需验证
- 临时添加 - 表单下半部分的验证
我的视图模型类看起来像
public class ViewModel
{
public User User { get; set; } //used for first half of the form
public Department Department { get; set; } //used for second half of the form
}
我的 POCO 课程看起来像
public class User
{
public int Id { get; set; }
[Required]
public string Username { get; set; }
public DateTime Dob { get; set; }
//more required properties
}
public class Department
{
public int Id { get; set; }
[Required]
public string DepartmentName { get; set; }
//more required properties
}
在 保存 上,如果我有 cancel 类,则单击它似乎可以工作并且没有完成验证。但是,我似乎可以弄清楚如何为其他两个按钮做到这一点。有没有办法或者我在这里完全偏离轨道。
【问题讨论】:
-
您必须手动处理它。这种情况没有任何自动验证。
-
@KD 能否提供一个小例子。
-
不清楚你想要实现什么。您是否只想根据第一部分的某些条件验证第二部分?你想在第二部分之前保存第一部分吗
-
选项 1:当您依赖数据注释时,您应该禁用客户端验证并在服务器端处理这些点击。选项 2:单击每个按钮时,添加一个 JS 函数,该函数将首先从不需要的表单元素中删除所有验证属性,然后尝试提交表单。让我知道你喜欢哪种策略
标签: javascript c# jquery asp.net asp.net-mvc