유효성 검사기에 전체 양식을 컨텍스트로 전달할 수 있습니까?필드 세트 또는 콜렉션을 사용할 때 ZF2 유효성 검사기 컨텍스트
I 다른 FIELDSET의 B.에 원소 (Y)의 값을 확인 FIELDSET A의 원소 X에 대한 조건 검사기를 작성하고자
문제는 isValid 기능 만 FIELDSET의 컨텍스트를 수신한다는 것이다 그것 이 요소 X는 요소 Y에 대해 아무것도 모릅니다.
모든 답변을 크게 받았습니다!
유효성 검사기에 전체 양식을 컨텍스트로 전달할 수 있습니까?필드 세트 또는 콜렉션을 사용할 때 ZF2 유효성 검사기 컨텍스트
I 다른 FIELDSET의 B.에 원소 (Y)의 값을 확인 FIELDSET A의 원소 X에 대한 조건 검사기를 작성하고자
문제는 isValid 기능 만 FIELDSET의 컨텍스트를 수신한다는 것이다 그것 이 요소 X는 요소 Y에 대해 아무것도 모릅니다.
모든 답변을 크게 받았습니다!
컬렉션과 ZendCollectionInputFilter에서이를 수행 할 수 있습니다. 이것에 대한 문서의 부하처럼이 아니다
는 젠드 사람은 생각이 밖으로 정렬 알고 (이 http://framework.zend.com/apidoc/2.2/classes/Zend.InputFilter.CollectionInputFilter.html에의 유일한 언급 생각)하지만 정말 도움이 지금 자원이 있었다 :
http://www.aronkerr.com/2013/11/zf2-form-collection-validation-unique.html
매우 영리한 물건 일단 당신이 당신의 머리를 이것들을 얻을. 질문이 매우 구체적이지 않고 현재 구현 한 양식, 필드 세트 및 입력 필터에 대한 코드가 없지만 이것이 도움이되기를 바랍니다. 좀 더 구체적인 코드를 실행하는 것보다 어느 지점에서든 행복하게 지내면
필드 세트 A와 B가 Sample
양식에 속한다고 가정 해 보겠습니다. 자식 필드 셋의 유효성을 검사 할 때 우리는이 양식의 컨텍스트를 액세스하기 위해이 부모 폼에서 유효성 검사기를 추가해야
<?php
namespace App\Form;
use Zend\Form\Form;
use Zend\InputFilter\InputFilterProviderInterface;
class Sample extends Form InputFilterProviderInterface
{
public function init()
{
$this->add([
'type' => 'App:Fieldset:A',
'name' => 'fieldsetA',
]);
$this->add([
'type' => 'App:Fieldset:B',
'name' => 'fieldsetB',
]);
$this->add([
'type' => 'submit',
'name' => 'submit',
'attributes' => [
'value' => 'Submit',
],
]);
}
public function getInputFilterSpecification()
{
return [
'fieldsetA' => [
'type' => 'InputFilter',
'X' => [
'required' => true,
'allow_empty' => true,
'continue_if_empty' => true,
'validators' => [
[
'name' => 'Callback',
'options' => [
'callback' => function ($value)
{
if ($this->data['fieldsetB']['Y'])
{
// do something
}
// do something else
},
],
],
],
],
],
];
}
}
공지 사항 우리는 InputFilter
유형을 사용하여 내 Sample
에서의 X에 유효성 검사기를 추가하는 방법에 대해 설명합니다. 다음으로 우리는 $this->data
에 직접 접속하고 그것을 통과하여 Y를 얻습니다.
감사합니다. @Jon - 그 가이드는 내가 찾고 있던 것입니다. –