【问题标题】:Jsvalidator in CakePHP is incorrectly error-correcting textareasCakePHP 中的 Jsvalidator 错误地纠错 textareas
【发布时间】:2011-05-26 14:20:47
【问题描述】:

我正在使用CakePHP Javascript Validator,除了验证文本区域外,一切正常。

问题不在于它根本没有验证 - 但它有一个问题:

'rule' => array('between', 20, 500),

如果他们在文本区域的任意位置输入任何换行符,则无论第一行中的总字符数或什至总字符数如何,都会触发此错误。

关于 1)为什么会发生这种情况以及 2)如何解决它的任何想法?

编辑:

正则表达式是在 plugins/js_validate/views/helpers/validation.php 中编写的,它似乎正在生成:

它为验证我的 textarea 字段而吐出的正则表达式是这样的:\/^.{4,138}$\/

我认为问题是“。”,因为那是“除换行符之外的任何内容”或其他内容。我应该用什么替换它以允许换行符?

【问题讨论】:

    标签: php javascript regex cakephp validation


    【解决方案1】:

    使用s 修饰符使点元字符匹配所有字符,包括换行符。在您的情况下,表达式将如下所示:

    /^.{4,138}$/s
    

    【讨论】:

    • 添加“s”就可以了 - 但我必须像这样实现:/^[\s\S]{4,138}$/ 随意更改/编辑您的答案以匹配未来阅读此问题的蛋糕用户。
    猜你喜欢
    • 2012-10-13
    • 1970-01-01
    • 2016-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多