1 | if (typeof require !== 'undefined') {
|
2 | var Validator = require('../src/validator.js');
|
3 | var expect = require('chai').expect;
|
4 | } else {
|
5 | var Validator = window.Validator;
|
6 | var expect = window.chai.expect;
|
7 | }
|
8 |
|
9 | describe('Wildcard', function () {
|
10 | describe('Simple Rules ', function () {
|
11 | it('should have validation a deep level fails', function () {
|
12 | var validator = new Validator({
|
13 | foo: [{
|
14 | bar: [{
|
15 | people: [{
|
16 | name: '',
|
17 | age: 'aa',
|
18 | term: false,
|
19 | isActive: 'not'
|
20 | },
|
21 | {
|
22 | name: '',
|
23 | age: 'aa',
|
24 | term: false,
|
25 | isActive: 'not'
|
26 | }
|
27 | ]
|
28 | },
|
29 | {
|
30 | people: [{
|
31 | name: '',
|
32 | age: 'aa',
|
33 | term: false,
|
34 | isActive: 'not'
|
35 | },
|
36 | {
|
37 | name: '',
|
38 | age: 'aa',
|
39 | term: false,
|
40 | isActive: 'not'
|
41 | }
|
42 | ]
|
43 | }
|
44 | ]
|
45 | }]
|
46 | }, {
|
47 | 'foo.*.bar.*.people.*.name': 'required',
|
48 | 'foo.*.bar.*.people.*.age': 'numeric',
|
49 | 'foo.*.bar.*.people.*.term': 'accepted',
|
50 | 'foo.*.bar.*.people.*.isActive': 'boolean',
|
51 | });
|
52 | expect(validator.fails()).to.be.true;
|
53 | expect(validator.passes()).to.be.false;
|
54 | });
|
55 | it('should have validation a deep level passes', function () {
|
56 | var validator = new Validator({
|
57 | foo: [{
|
58 | bar: [{
|
59 | people: [{
|
60 | name: 'Test',
|
61 | age: '100',
|
62 | term: true,
|
63 | isActive: '0'
|
64 | }]
|
65 | }]
|
66 | }]
|
67 | }, {
|
68 | 'foo.*.bar.*.people.*.name': 'required',
|
69 | 'foo.*.bar.*.people.*.age': 'numeric',
|
70 | 'foo.*.bar.*.people.*.term': 'accepted',
|
71 | 'foo.*.bar.*.people.*.isActive': 'boolean',
|
72 | });
|
73 | expect(validator.fails()).to.be.false;
|
74 | expect(validator.passes()).to.be.true;
|
75 | });
|
76 | });
|
77 | describe('Rules with dependent of another field', function () {
|
78 | it('should have validation fail with required_* and show customMessage', function () {
|
79 | var validator = new Validator({
|
80 | users: [{
|
81 | name: 'Teste',
|
82 | lastName: '',
|
83 | age: '',
|
84 | requiredAge: 'true',
|
85 | }]
|
86 | }, {
|
87 | 'users.*.age': 'required_if:users.*.requiredAge,true',
|
88 | 'users.*.lastName': 'required_with:users.*.name',
|
89 | }, {
|
90 | 'required_if.users.*.age': 'Required'
|
91 | });
|
92 | expect(validator.fails()).to.be.true;
|
93 | expect(validator.passes()).to.be.false;
|
94 | expect(validator.errors.all()).to.eql({
|
95 | 'users.0.age': ['Required'],
|
96 | 'users.0.lastName': ['The users.0.lastName field is required when users.0.name is not empty.']
|
97 | })
|
98 | });
|
99 | });
|
100 | }); |
\ | No newline at end of file |