天天看點

ExtJs之ExtJs.Model驗證

沒有搞好,但知道意思和配置,并且好像4和3的沒有相容性文法,是以網上找了新文法才出來了點東東。

<a href="http://www.cnblogs.com/aguncn/p/5322483.html#">?</a>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

<code>&lt;!</code><code>doctype</code> <code>html&gt;</code>

<code>&lt;</code><code>html</code><code>&gt;</code>

<code>&lt;</code><code>head</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>title</code><code>&gt;extjs&lt;/</code><code>title</code><code>&gt;</code>

<code>        </code><code>&lt;</code><code>meta</code> <code>http-equiv="content-type" content="text/html; charset=utf-8"/&gt;</code>

<code>    </code><code>&lt;</code><code>link</code> <code>rel="stylesheet" type="text/css" href="extjs/packages/ext-theme-crisp/build/resources/ext-theme-crisp-all.css"&gt;</code>

<code>        </code><code>&lt;</code><code>script</code> <code>type="text/javascript" src="extjs/ext-all.js"&gt;&lt;/</code><code>script</code><code>&gt;</code>

<code>        </code><code>&lt;</code><code>script</code> <code>type="text/javascript" src="extjs/bootstrap.js"&gt;&lt;/</code><code>script</code><code>&gt;</code>

<code>        </code><code>&lt;</code><code>script</code> <code>type="text/javascript" src="extjs/packages/ext-theme-crisp/build/ext-theme-crisp.js"&gt;&lt;/</code><code>script</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>script</code> <code>type="text/javascript"&gt;</code>

<code>            </code><code>ext.onready(function(){</code>

<code>        </code><code>//ext.regmodel('productinfo', {</code>

<code>        </code><code>//  fields: ['productname', 'productnum', 'productprice']</code>

<code>        </code><code>//});</code>

<code>        </code><code>/*</code>

<code>        </code><code>ext.data.validations.presencemessage = '必須是有效值';</code>

<code>        </code><code>ext.data.validations.lengthmessage = '長度錯誤';</code>

<code>        </code><code>ext.data.validations.formatmessage = '格式錯誤';</code>

<code>        </code><code>ext.apply(ext.data.validations, {</code>

<code>          </code><code>number: function(config, value){</code>

<code>            </code><code>if(value === undefined){</code>

<code>              </code><code>return false;</code>

<code>            </code><code>}</code>

<code>            </code><code>var min = config.min,</code>

<code>                </code><code>max = config.max;</code>

<code>            </code><code>if((min &amp;&amp; value &lt;</code><code>min</code><code>) || (max &amp;&amp; value &gt; max)) {</code>

<code>            </code><code>}else {</code>

<code>              </code><code>return true;</code>

<code>          </code><code>},</code>

<code>          </code><code>numbermessage: '資料範圍錯誤'</code>

<code>        </code><code>})</code>

<code>        </code><code>*/</code>

<code>        </code><code>ext.define('ext.data.validator.number', {</code>

<code>          </code><code>extend: 'ext.data.validator.validator',</code>

<code>          </code><code>alias: 'data.validator.number',</code>

<code>          </code><code>type: 'number',</code>

<code>          </code><code>config: {</code>

<code>            </code><code>min: 160</code>

<code>          </code><code>validate: function(value){</code>

<code>            </code><code>console.log(value);</code>

<code>            </code><code>var result = ext.isnumber(value);</code>

<code>            </code><code>if(result){</code>

<code>              </code><code>result = value &gt; 0 &amp;&amp; value &lt;</code><code>this.getmax</code><code>();</code>

<code>            </code><code>return result ? result : this.getmessage();</code>

<code>          </code><code>}</code>

<code>        </code><code>});</code>

<code>        </code><code>ext.define('user', {</code>

<code>            </code><code>extend: 'ext.data.model',</code>

<code>            </code><code>fields: [</code>

<code>              </code><code>{name: 'name', type: 'string'},</code>

<code>              </code><code>{name: 'age', type: 'int'},</code>

<code>              </code><code>{name: 'phone', type: 'string'}</code>

<code>            </code><code>],</code>

<code>            </code><code>validators: {</code>

<code>              </code><code>age: 'presence',</code>

<code>              </code><code>//age: {type: 'number', min: 30},</code>

<code>              </code><code>name: {type: 'length', min: 5}</code>

<code>        </code><code>var user = ext.create('user', {</code>

<code>          </code><code>name: 'tom',</code>

<code>          </code><code>age: 24,</code>

<code>          </code><code>phone: '555-666-6666'</code>

<code>        </code><code>var errors = user.getvalidation();</code>

<code>        </code><code>var message = [];</code>

<code>        </code><code>errors.each(function(v){</code>

<code>          </code><code>message.push(v.field + ': ' + v.message)</code>

<code>        </code><code>alert(message.join('\n'));</code>

<code>        </code><code>alert(errors);</code>

<code>        </code><code>alert(user.get('name'));</code>

<code>      </code><code>});</code>

<code>    </code><code>&lt;/script&gt;</code>

<code>&lt;/</code><code>head</code><code>&gt;</code>

<code>&lt;</code><code>body</code><code>&gt;</code>

<code>&lt;</code><code>div</code> <code>id='tpl-table1'&gt;&lt;/</code><code>div</code><code>&gt;</code>

<code>&lt;</code><code>br</code><code>&gt;</code>

<code>&lt;</code><code>div</code> <code>id='tpl-table2'&gt;&lt;/</code><code>div</code><code>&gt;</code>

<code>&lt;/</code><code>body</code><code>&gt;</code>

<code>&lt;/</code><code>html</code><code>&gt;</code>

繼續閱讀