Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Zend元素或验证器_Php_Zend Framework_Zend Form_Zend Validate - Fatal编程技术网

Php Zend元素或验证器

Php Zend元素或验证器,php,zend-framework,zend-form,zend-validate,Php,Zend Framework,Zend Form,Zend Validate,是否有zend form元素或验证程序方法可用于接受数字和字符的用户输入,例如525555CPG。或者我必须创建一个自定义类。如果你是Zend_Form类,你可以使用这个 $myAlphanumericField = new Zend_Form_Element_Text('myfield', array('placeholder' => 'Only letters and numbers')); $myAlphanumericField

是否有zend form元素或验证程序方法可用于接受数字和字符的用户输入,例如525555CPG。或者我必须创建一个自定义类。

如果你是Zend_Form类,你可以使用这个

$myAlphanumericField = new Zend_Form_Element_Text('myfield',
                          array('placeholder' => 'Only letters and numbers'));
$myAlphanumericField        ->setLabel('My Numeric Field')
                                        ->setRequired(true)
                                        ->addFilter('StripTags')
                                        ->addValidator('alnum')
                                        ->getValidator('alnum')->setMessage(' Only letters and numbers are allowed');

希望这对您有用

如果您的值必须是6位数字后跟三个大写字母,您可以使用如下正则表达式:

$test_pattern = "/^([0-9]{6})([A-Z]{3})$/";
$test_validator = new Zend_Validate_Regex(array('pattern' => $test_pattern));
$test_validator->setMessage("The value must be like '999999AAA'");

$test = new Zend_Form_Element_Text('test');
$test->addValidator($test_validator);
对于javascript部分,可以使用如下掩码,例如:


在演示中,有一个“产品密钥”示例可以帮助您:

您是否尝试过Zend\u Validate\u Alnum?我认为这是最好的办法

如果您不关心验证精确格式,特别是6个数字后跟3个字母,那么可以使用Zend_Validate_Alnum。这比使用正则表达式验证器更具灵活性,但可能不够严格,无法满足您的需要

$code = '525555CPG';

$validator = new Zend_Validate_Alnum();

if ($validator->isValid($code)) {
    echo $code . ' is a valid code';
} else {
    echo $code . ' is not a valid code';
}

不,我正在修改zf1项目,没有验证测试模式不确定,这就是我试图使用它的方式。编辑了我的问题抱歉DoyDoy现在可以用了这只是一个区分大小写的问题它可以用大写