bill_ceck
投稿パラメーターに応じて請求先住所を検証するにはどうすればよいですか?
投稿の検証 ( http://symfony.com/legacy/doc/cookbook/1_2/en/conditional-validator ) を確認しましたが、OR ではなく AND 検証のように思えます。
class OrderAddForm extends BaseOprOrderHeaderForm {
public function configure() {
$this->setWidgets(array(
'email' => new sfWidgetFormInputText(),
'name' => new sfWidgetFormInputText(),
//....
'city' => new sfWidgetFormInputText(),
'street' => new sfWidgetFormInputText(),
//....
'bill_check' => new sfWidgetFormInputCheckbox(),
'bill_name' => new sfWidgetFormInputText(),
'bill_city' => new sfWidgetFormInputText(),
'bill_street' => new sfWidgetFormInputText(),
//....
));
$this->widgetSchema['bill_check']->setOption('value_attribute_value', 1);
$this->setValidators(array(
'email' => new sfValidatorEmail(),
'name' => new sfValidatorString(),
//...
'city' => new sfValidatorString(),
'street' => new sfValidatorString(),
//...
'bill_check' => new sfValidatorBoolean(),
));
if (/** the most convetional solution to check 'bill_check' state */) {
$this->validatorSchema['bill_name'] = new sfValidatorString();
$this->validatorSchema['bill_city'] = new sfValidatorString();
$this->validatorSchema['bill_street'] = new sfValidatorString();
//....
}
$this->widgetSchema->setNameFormat('orderAddForm[%s]');
}
}
ありがとう、オリバー