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 验证的主要内容,如果未能解决你的问题,请参考以下文章

jQuery对表单的操作

vue使用textare如何正确统计输入字符个数

textarea输入文字限制个数

JSP页面内textarea的占位符

尝试在 textarea 控件中显示 HTML 文本

jQuery Textarea-validation 不起作用