我正在尝试对 ZF2 中的类运行验证。我遵循了 Album 示例并了解验证器如何使用表单,但我如何针对数组运行它?下面是示例中的代码。
$form->setInputFilter($album->getInputFilter());
$form->setData($request->getPost());
if ($form->isValid()) {
在我的例子中,我没有表单,但有一组数据要交换给类(class)。我如何验证这个数组?如何运行 isValid 函数?我需要将数组绑定(bind)到新表单然后运行验证吗?似乎会有更简洁的方法。
非常感谢, 米
最佳答案
您可以创建一个扩展到 Zend\InputFilter\InputFilter
use Zend\InputFilter\InputFilter;
class AlbumFilter extends InputFilter {
public function __construct()
{
$this->add(array(
'name' => 'title',
'required' => true,
'validators' => array(
array(
'name' => 'NotEmpty',
'options' => array(
'messages' => array(
NotEmpty::IS_EMPTY => 'Title is required.',
),
),
),
),
));
}
然后在你的 Controller 中:
$AlbumFilter = $this->getServiceLocator()->get('AlbumFilter'); // assuming you have added AlbumFilter in your Module.php
$AlbumFilter->setData($data);
if ($AlbumFilter->isValid()) {
// do something
}
关于php - 如何在没有表单的情况下对模型运行 ZF2 验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34957769/