Hi John,

I am working on form builder here you can see the image

https://www.dropbox.com/s/tefh2auwqy97g10/form_builder.png?dl=0

It is working in cakephp 2.x fine. here are answers of your questions.

*Have you studied the CakePHP book?*
yes I read the cakephp 3.x cook book

*What have you tried?*
In cakephp 2.x I have written validations like following but I have no idea 
how to try multiple index validation in cakephp 3.x

Cakephp 2.x Form fields are 
$this->Form->input('FormElement.text.1.title', ['type'=>'text', 
'label'=>false, 'class'=>'form-control']);

$this->Form->input('FormElement.text.2.title', ['type'=>'text', 
'label'=>false, 'class'=>'form-control']);

Cakephp 2.x Model Validations are

public $validate = array(
   'text'=> array(
'mustNotEmpty'=>array(
'rule' => 'checkForText',
'message'=> '',
'last'=>true)
),
'textarea'=> array(
'mustNotEmpty'=>array(
'rule' => 'checkForTextarea',
'message'=> '',
'last'=>true)
)
);
function checkForText() {
if(!empty($this->data['FormElement']['text'])) {
foreach($this->data['FormElement']['text'] as $key=>$val) {
if(empty($val['title'])) {
$this->validationErrors['text'][$key]['title'] = "Please enter title";
}
}
}
return true;
}
function checkForTextarea() {
if(!empty($this->data['FormElement']['textarea'])) {
foreach($this->data['FormElement']['textarea'] as $key=>$val) {
if(empty($val['title'])) {
$this->validationErrors['textarea'][$key]['title'] = "Please enter title";
}
}
}
return true;
}

so the validation work like a charm on multi index input 
fields 'FormElement.text.1.title' etc. The form fields are dynamically 
added.
I am not getting any clue to convert this code in cakephp 3.x

*What does not work?*
In cakephp 3.x I have tried so far.

Cakephp 3.x Form fields are 
$this->Form->input('FormElements.text.1.title', ['type'=>'text', 
'label'=>false, 'class'=>'form-control']);

$this->Form->input('FormElements.text.2.title', ['type'=>'text', 
'label'=>false, 'class'=>'form-control']);

Cakephp 3.x Model Validations are

public function validationForFormElements($validator) {
$validator
->add('text', [
'mustNotEmpty'=>[
'rule'=>'checkForText',
'provider'=>'table',
'message'=>''
]
])
->add('textarea', [
'mustNotEmpty'=>[
'rule'=>'checkForTextarea',
'provider'=>'table',
'message'=>''
]
]);
return $validator;
}
function checkForText($value, $context) {
if(!empty($context['data']['text'])) {
foreach($context['data']['text'] as $key=>$val) {
if(empty($val['title'])) {
*I have no idea how add validation error on particular index*
}
}
}
return true;
}
function checkForTextarea($value, $context) {
if(!empty($context['data']['textarea'])) {
foreach($context['data']['textarea'] as $key=>$val) {
if(empty($val['title'])) {
*I have no idea how add validation error on particular index*
}
}
}
return true;
}

*Do you get any error messages?*
I did not get any error messages

Please let me know if anything is not clear.

On Thursday, April 23, 2015 at 10:30:23 PM UTC+5:30, John Andersen wrote:
>
> Please provide more information and also real life examples of your form 
> code, so that we may better be able to help.
>
> Have you studied the CakePHP book?
> What have you tried?
> What does not work?
> Do you get any error messages?
>
> Please show the validation code you have tried, the code for the form and 
> whatever else that may help us understand your problem.
>
> Kind regards
> John Aage Andersen
>
> On Wednesday, 22 April 2015 01:30:20 UTC+3, Cake Developer wrote:
>>
>> Hi,
>>
>> I am facing issue on form input validations errors. my input fields are 
>> following
>>
>> $this->Form->input('FormElements.text.1.title', ['type'=>'text', 
>> 'label'=>false, 'class'=>'form-control']);
>>
>> $this->Form->input('FormElements.text.2.title', ['type'=>'text', 
>> 'label'=>false, 'class'=>'form-control']);
>>
>> $this->Form->input('FormElements.textarea.1.description', 
>> ['type'=>'textarea', 'label'=>false, 'class'=>'form-control']);
>>
>> $this->Form->input('FormElements.textarea.2.description', 
>> ['type'=>'textarea', 'label'=>false, 'class'=>'form-control']);
>>
>> Please help me anyone to apply validation rules and display errors.
>>
>> Thanks in advance.
>>
>

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to cake-php+unsubscr...@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.

Reply via email to