在带有水印的输入上使用必填字段验证器

时间:2011-03-10 06:26:55

标签: c# .net jquery asp.net asp.net-mvc

我对字段的必需验证不起作用,因为即使用户没有输入任何内容,水印文本也会发送到服务器。处理这个问题的最佳方法是什么?我正在使用jquery和asp.net mvc。

3 个答案:

答案 0 :(得分:4)

您可以使用jQuery updnWatermark插件在不向文本框写入文本的页面上插入水印,但使用水印插入新的透明元素:updnWatermark。这就是如何使用必需的验证器验证您的控件而不需要任何技巧。

  1. 添加对插件的引用: <script src="~/Scripts/jquery.updnWatermark.js" type="text/javascript"></script>
  2. 将一些CSS类分配给需要水印的输入元素,例如Watermark class。
  3. 将包含水印文本的ToolTip属性设置为需要水印的元素。
  4. 将下一个代码添加到页面中:

    $.updnWatermark.attachAll({ cssClass: 'Watermark' });

答案 1 :(得分:1)

HTML5 placeholder attribute允许浏览器显示水印,因此水印值不会在表单帖子上提交回服务器。

然后在页面中为不支持placeholder的浏览器添加额外的jQuery。

答案 2 :(得分:0)

如果您不想包含其他插件,则可以始终覆盖验证器:

$.validator.methods.required = function (value, element) {      
  // some code
}

请记住,这会覆盖页面上所有必需检查的默认必需验证程序。