对于我的学校项目,我正在研究数据库管理应用程序.这是我第一个真正的Zend Framework应用程序.
现在,我现在已经根据需要设置了3个值,邮政编码,电子邮件和电话.像这样需要它们(例子):
$mail = $this->createElement('text', 'mail');
$mail->setLabel('E-mail:')
->setAttrib('size', 50)->addValidator('StringLength', false, array(6, 40))->addValidator('EmailAddress', true)
->setRequired(true);
$telephone = $this->createElement('text', 'telephone');
$telephone->setLabel('Telephone:')
->setAttrib('size', 50)->addValidator('StringLength', false, array(10, 10))
->setRequired(true);
Run Code Online (Sandbox Code Playgroud)
我怎样才能只需要其中一个?
我正在使用Zend_Form,并与Displaygroups合作.
有人知道我的程序的解决方案吗?也许使用数组?
提前致谢,
JorritK
UPDATE
@ brady.vitrano
好的,我的代码的第一部分现在看起来像这样:
<?php
class Application_Form_Validate_ContactMethodSelected
extends Zend_Validate_Abstract
{
const INVALID = 'invalid';
protected $_messageTemplates = array(
self::INVALID => 'Must select at least one contact method'
);
public function isValid($value, $context = array())
{
// You need to use your element names, consider making these dynamic
$checkFields = …Run Code Online (Sandbox Code Playgroud) 此时我正在使用Zend Framework中的Form.它必须成为一个公司可以填写候选人详细信息的表格.
我对Zend很新,所以这就是我发布问题的原因.
这就是表单的样子(删除了一些字段以缩短代码)
<?php
class Application_Form_Validate_ContactMethodSelected extends Zend_Validate_Abstract {
const INVALID = 'invalid';
protected $_messageTemplates = array(
self::INVALID => 'Ten minste 1 vorm van contact invullen, telefoon, mobiel of e-mail'
);
public function isValid($value, $context = array())
{
// You need to use your element names, consider making these dynamic
$checkFields = array('telefoon','mobiel','mail');
// Check if all are empty
foreach ( $checkFields as $field ) {
if (isset($context[$field]) && !empty($context[$field])) {
if (!empty($value)) {
// This is the element …Run Code Online (Sandbox Code Playgroud)