php – Zend_Form手动设置和验证字段值

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – Zend_Form手动设置和验证字段值脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个带下拉字段的Zend_Form.
用户在URL中设置一个值时,应该在此下拉列表中选择此值作为认值.

所以我现在所做的是:

$parlang = $this->getRequest()->getParam('lang');
if($parlang){
    $this->view->filterForm->getElement('ddLanguage')->setValue($parlang);
}

if ($this->getRequest()->isPost()) {
        if($this->view->filterForm->isValid($_POST)){
...
...
...

不,我想检查变量的值是否甚至是下拉列表的有效值?我如何通过表单验证来检查这个问题.是的我可以根据数组检查变量,但这似乎是“与框架作斗争”.

那么Zend如何做这样的事情呢?

编辑:
我感兴趣的所有人的最终解决方案是:

$parlang = $this->getRequest()->getParam('lang');
if($parlang){
    $ddLanguage = $this->view->filterForm->ddLanguage;
    if($ddLanguage->isValid($parlang)){
        $ddLanguage->setValue($parlang);
        $language = $parlang;
    }
}

解决方法

我运行了一个快速测试,看起来你可以使用的一个方法是Zend_Form_Element_Select :: getMultiOption()来检查选择值中是否存在该语言.

<?PHP

$parlang = $this->getRequest()->getParam('lang');

if ($parlang) {
    $el = $this->view->filterForm->getElement('ddLanguage');

    // attempt to get the option
    // Returns null if no such option exists,otherwise returns a
    // string wITh the display value for the option
    if ($el->getMultiOption($parlang) !== null) {
        $el->setValue($parlang);
    }
}

脚本宝典总结

以上是脚本宝典为你收集整理的php – Zend_Form手动设置和验证字段值全部内容,希望文章能够帮你解决php – Zend_Form手动设置和验证字段值所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。