【问题标题】:Validation of two sets of controls验证两组控件
【发布时间】:2014-03-12 09:09:40
【问题描述】:

我有一个包含以下逻辑输入的表单:

  1. 名称(文本框)
  2. 姓氏(文本框)
  3. 职业(下拉列表)

职业有以下几项:

巴士司机 出租车司机 不适用

现在,根据职业,我显示了许多其他文本字段。我在所有字段 1..3 以及专业字段 (4..8) 上都需要字段验证器。

我有一个触发验证的提交按钮。所以我的问题是验证控件的最简单方法是什么:1..3 是否应选择不适用于专业,而 1..8 是否应通过单个按钮用于其他专业。

我可以想到几种方法,但它们都很“混乱”,我正在寻找更好的方法:

1) 每个字段有两个必填字段验证器 - 一个用于验证不适用,一个用于选择专业。为按钮选择专业时切换验证组。

我试过了,但它似乎不起作用,因为我仍然让 两个 验证器在每个字段中触发。

2) 编写自定义客户端验证器,考虑到专业下拉列表中选择的内容。

维护的噩梦。我更喜欢使用 MS 提供的任何内置功能。

那么对于如何根据在另一个控件中选择的内容以不同方式验证相同的控件集,有人有任何建议吗?

【问题讨论】:

    标签: c# javascript asp.net validation


    【解决方案1】:

    您可以编写一个简单的 javascript 验证脚本。您无法使用“page.Isvalid”验证服务器端的 javascript。

    您唯一的选择是编写自定义验证器。我只是不知道为什么这应该是维护的噩梦。如果您使用的是 javascript 验证,则无论如何都应该验证代码中的值。否则,用户可以禁用 javascript 并输入他想要的任何内容。

    希望对你有帮助...

    【讨论】:

    • 除了客户端验证外,还有服务器端验证。客户端验证是为了避免往返服务器。
    • 从我的角度来看的痛苦是,目前如果我使用内置的验证器,我不必在生成 JS 时编写任何 JS。如果我去编写一些自定义 JS,那么应该在我需要的页面上更改控件然后去重构(添加/删除/重命名控件),这是我试图避免的。
    猜你喜欢
    • 1970-01-01
    • 2019-02-10
    • 1970-01-01
    • 2012-09-11
    • 1970-01-01
    • 2018-02-04
    • 2015-10-06
    • 2013-11-04
    • 2021-02-06
    相关资源
    最近更新 更多