jquery textarea 验证
Posted
技术标签:
【中文标题】jquery textarea 验证【英文标题】:jquery textarea validation 【发布时间】:2011-02-04 09:36:02 【问题描述】:如何在使用 jquery 验证文本区域时检查空值、空格和新行。 如果 textarea 为空且只有新行或空格,则应发出警报
【问题讨论】:
【参考方案1】:if($.trim($('#myTextArea').val()) == '')
//error
【讨论】:
新行验证不适用于这段代码。我之前试过这个 来自 API 文档:$.trim() 函数从提供的字符串的开头和结尾删除所有换行符、空格(包括不间断空格)和制表符 【参考方案2】:假设 html 看起来像
<form id='someForm'>
<input type="text" id='textInput' name='textInput'/>
</form>
首先创建一个jquery验证方法。
jQuery.validator.addMethod("checkForWhiteSpaceErrors", function(value, element, param)
var elem = $(element);
var val = element.val();
//Now you have a choice. Either use trim, or if you believe that
// that is not working, use a regex.
if(val && $.trim(val) == '')
return false;
//or
if(val && val.match(/^\s+|\s+$/g))
return false;
return true;
, "Newlines and White Spaces are not allowed.");
现在告诉表单验证器使用这个方法很简单。
$('#someForm').validate(
rules:
textInput:
checkForWhiteSpaceErrors: true
);
【讨论】:
【参考方案3】:感谢“基思·卢梭”!有效。 此外,如果你有一个文本框和一个文本区域,那么下面的 jquery 代码就可以了:
$(document).ready(function ()
$('#message_submit').click(function (e) //submit button ID
var isValid = true;
$('input[type="text"]').each(function () //textbox type
if ($.trim($(this).val()) == '' || $.trim($('#body').val()) == '') //#body is textarea ID
alert('Text box can't left empty');
return false;
else
alert('Thanks for your valuable input!\nWe will get back to you soon.');
);
);
);
【讨论】:
这增加了许多与原始问题无关的无关代码(或大大增加了您提到的答案)。它也不会运行。以上是关于jquery textarea 验证的主要内容,如果未能解决你的问题,请参考以下文章