17 import(
'lib.pkp.tests.PKPTestCase');
18 import(
'lib.pkp.classes.form.Form');
26 $form =
new Form(
'some template');
29 $form->setData(
'testData',
'');
30 $validator =
new FormValidatorArray($form,
'testData', FORM_VALIDATOR_OPTIONAL_VALUE,
'some.message.key');
31 self::assertTrue($validator->isValid());
32 self::assertEquals(array(), $validator->getErrorFields());
35 $form->setData(
'testData',
'');
36 $validator =
new FormValidatorArray($form,
'testData', FORM_VALIDATOR_REQUIRED_VALUE,
'some.message.key');
37 self::assertFalse($validator->isValid());
38 self::assertEquals(array(), $validator->getErrorFields());
41 $form->setData(
'testData', array(
'subfield1' =>
'abc',
'subfield2' =>
'0'));
42 $validator =
new FormValidatorArray($form,
'testData', FORM_VALIDATOR_REQUIRED_VALUE,
'some.message.key');
43 self::assertTrue($validator->isValid());
44 self::assertEquals(array(), $validator->getErrorFields());
46 $form->setData(
'testData', array(
'subfield1' =>
'',
'subfield2' =>
null));
47 $validator =
new FormValidatorArray($form,
'testData', FORM_VALIDATOR_REQUIRED_VALUE,
'some.message.key');
48 self::assertFalse($validator->isValid());
49 self::assertEquals(array(
'testData[subfield1]',
'testData[subfield2]'), $validator->getErrorFields());
53 'subfield1' => array(
'subsubfield1' =>
'abc',
'subsubfield2' =>
'def'),
54 'subfield2' => array(
'subsubfield1' =>
'0',
'subsubfield2' => 0)
56 $form->setData(
'testData', $testArray);
57 $validator =
new FormValidatorArray($form,
'testData', FORM_VALIDATOR_REQUIRED_VALUE,
'some.message.key', array(
'subsubfield1',
'subsubfield2'));
58 self::assertTrue($validator->isValid());
59 self::assertEquals(array(), $validator->getErrorFields());
62 'subfield1' => array(
'subsubfield1' =>
'abc',
'subsubfield2' =>
'def'),
63 'subfield2' => array(
'subsubfield1' =>
'',
'subsubfield2' =>
'xyz')
65 $form->setData(
'testData', $testArray);
66 $validator =
new FormValidatorArray($form,
'testData', FORM_VALIDATOR_REQUIRED_VALUE,
'some.message.key', array(
'subsubfield1',
'subsubfield2'));
67 self::assertFalse($validator->isValid());
68 self::assertEquals(array(
'testData[subfield2][subsubfield1]'), $validator->getErrorFields());
72 $testArray = array(
'subfield1' =>
'abc',
'subfield2' =>
'def');
73 $form->setData(
'testData', $testArray);
74 $validator =
new FormValidatorArray($form,
'testData', FORM_VALIDATOR_REQUIRED_VALUE,
'some.message.key', array(
'subsubfield'));
75 self::assertFalse($validator->isValid());
76 self::assertEquals(array(
'testData[subfield1]',
'testData[subfield2]'), $validator->getErrorFields());
80 'subfield1' => array(
'subsubfield1' =>
'abc',
'subsubfield2' =>
null),
81 'subfield2' => array(
'subsubfield2' =>
'xyz')
83 $form->setData(
'testData', $testArray);
84 $validator =
new FormValidatorArray($form,
'testData', FORM_VALIDATOR_REQUIRED_VALUE,
'some.message.key', array(
'subsubfield1',
'subsubfield2'));
85 self::assertFalse($validator->isValid());
86 self::assertEquals(array(
'testData[subfield1][subsubfield2]',
'testData[subfield2][subsubfield1]'), $validator->getErrorFields());