0

我的页面中有几个文本输入字段,以及几个单选按钮。现在我需要在客户端验证它们,然后再将它们发送到服务器端(也有服务器端验证)。

我正在使用 jquery 和 javascript 验证文本输入,但现在我想知道这真的是验证它们的最佳方法吗?

这将如何与单选按钮一起使用?

$('form').submit(function() {
    validateForm($(this))
    return false;
});

function validateForm(form) {
    var FirstName=form.find('[name=FirstName]').val();
    if (!FirstName) {
        alert('Etunimi puuttuu');
        return false;
    }
}
4

2 回答 2

1

如果您只是验证以确保字段不为空,那么我会像这样向所有文本字段添加一个类

<input type="text" id="Firstname" class="validate" />

然后使用 Jquery 遍历所有具有类的字段.validate并检查它们是否为空白。然后,您可以选择如何提醒用户。

$('.validate').each(function(){

   if($(this).val().length === 0)
   {
      alert($(this).attr('id')+ " is blank");
   }
});

对于单选按钮,您可以像这样检查

if($('#myRadio').not(':checked'))
{
   alert('Radio not checked');
}

通过测试:checked伪选择器

或者类似地通过分配一个类将多组复选框组合在一起,然后循环它们以测试是否至少有一个已被选中。

于 2012-04-27T11:44:39.230 回答
0

正如其他人已经提到的那样,轮子已经被发明用于一个很好的验证工具。您可以从jQuery 验证插件中下载、试验和学习文档。

您在标记中设置规则,然后当您调用validate()它时,它将执行您想要验证的所有事情并适当地提醒用户。如果它不适合您的特定情况,您甚至可以添加自定义验证。

有关使用带有单选按钮的 jQuery Validate 插件是多么容易的示例,请参阅这篇文章。

要验证是否在没有 jquery validate 的情况下检查单选按钮,以下应该有效:

//submit initiated
if ($("[name=paymentMethod]:checked").size() ==0) {
    alert("Select an option");
}

并看到这里

于 2012-04-27T12:02:24.917 回答