CakePHP验证规则:包含空格的字母数字组合

3

我在数据库中有一个description字段,可以接受字母数字字符、空格以及换行符。我想在Server模型中设置验证规则。

这是目前的情况:

<?php

class Server extends AppModel {

    public $validate = array(
        // ...
        'description' => array(
            'characters' => array(
                'rule'     => 'alphaNumeric',
                'message'  => 'Alphanumeric characters only'
            )
        ),
        // ...
    );

}

如何修改代码以允许空格、换行符以及字母数字字符?我原以为Cake框架会有内置的验证规则来处理这个问题,但我没有找到。我需要自己编写一些正则表达式来实现吗?

谢谢。

2个回答

2
CakePHP中的alphaNumeric表示没有空格的字母数字字符。因此,您需要使用自己的正则表达式模式。
例如:
'description' => array(
    'characters' => array(
        'rule' => array('custom', '/^[a-z0-9 ]*$/i'),
        'message'  => 'Alphanumeric characters with spaces only'
    )
),

0
不,CakePHP 无法涵盖所有情况,你的情况也不是很常见。
请参阅 http://api20.cakephp.org/view_source/validation#l-73,它只包含字符和整数。
使用


'rule'     => array('custom', 'your-regex-here'),

应该很容易找到一个匹配您需求的正则表达式,或者从验证类中复制并修改一个。


至于答案:“rule” => array(“custom”,'/([\w.-]+)+ [\w + .-] /'),对我来说似乎很有效! - Vael Victus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接