一个<form>中的两个“表单”冲突其所需的属性</form>

时间:2013-08-27 10:21:09

标签: c# asp.net forms

问题: 我有一个单页,有两个电子邮件表单(一个<form>,其中有两个div,看起来像用户的表单)。当您提交任一表单时,C#后面会查看表单的值并将其发送到电子邮件中。这很好用,现在我想要一点验证,但我不能将required属性添加到inputs,因为代码不知道它是两个单独的“表单”并且需要处理{ {1}}每个属性分别属于。

我理解为什么会出现此问题,但我想知道是否有办法告诉该页面处理组中的required属性。

我尝试了什么:两个“表单”都由后面的代码处理,因此需要在服务器端运行,因此单独的required元素将无效。我已经尝试将“表单”嵌套在服务器端<form>中作为<form>元素,它根据需要分隔<form>个属性,但似乎打破了很多东西,我已阅读无论如何,这通常是不好的做法。

我不是要求:验证背后代码中的表单。

修改: 大卫的答案非常适合验证文本框组,这就是我所需要的。

为了另外验证一个复选框,我使用了javascript。 required我们可以检查onclientclick是否已选中并使用checkbox验证然后返回true,否则返回false。只有在Page_ClientValidate('validationgroup')返回true时才会触发onclick

3 个答案:

答案 0 :(得分:2)

使用一个带有两个提交按钮的表单。使用validationgroup来区分

http://msdn.microsoft.com/en-us/library/ms227424(v=vs.100).aspx

答案 1 :(得分:1)

如果您为每个提交按钮编写自己的验证功能,则应该可以

<input type='submit' onclick='return validateFirstButton()'/>

答案 2 :(得分:1)

要验证复选框,请按照此处的说明操作:

http://codeclimber.net.nz/archive/2007/07/19/How-to-add-a-required-validator-to-a-CheckBoxList.aspx

因为这源于BaseValidator,您将能够使用群组。希望这有帮助