validation.html.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?php if($extView = $this->getExtViewFile(__FILE__)){include $extView; return helper::cd();}?>
  2. <?php
  3. js::import($jsRoot . 'jquery/validation/min.js');
  4. ?>
  5. <style>label.error {color:red}</style>
  6. <script>
  7. requiredFields = "<?php echo isset($config->{$this->app->getModuleName()}->{$this->app->getMethodName()}->requiredFields) ? $config->{$this->app->getModuleName()}->{$this->app->getMethodName()}->requiredFields : '';?>";
  8. $(document).ready(function()
  9. {
  10. if(typeOf requiredFields == 'unDefined') return;
  11. for(i in requiredFields)
  12. {
  13. $('form #' + requiredFields[i]).addClass('required');
  14. }
  15. initValidation();
  16. $('form').validate();
  17. });
  18. function initValidation()
  19. {
  20. clientLang = "<?php echo $this->app->getClientLang();?>";
  21. if(clientLang == 'en')
  22. {
  23. $.extend($.validator,
  24. {
  25. messages:
  26. {
  27. required: "This field is required.",
  28. remote: "Please fix this field.",
  29. email: "Please enter a valid email address.",
  30. url: "Please enter a valid URL.",
  31. date: "Please enter a valid date.",
  32. dateISO: "Please enter a valid date (ISO).",
  33. number: "Please enter a valid number.",
  34. digits: "Please enter only digits.",
  35. creditcard: "Please enter a valid credit card number.",
  36. equalTo: "Please enter the same value again.",
  37. accept: "Please enter a value with a valid extension.",
  38. maxlength: $.validator.format("Please enter no more than {0} characters."),
  39. minlength: $.validator.format("Please enter at least {0} characters."),
  40. rangelength: $.validator.format("Please enter a value between {0} and {1} characters long."),
  41. range: $.validator.format("Please enter a value between {0} and {1}."),
  42. max: $.validator.format("Please enter a value less than or equal to {0}."),
  43. min: $.validator.format("Please enter a value greater than or equal to {0}.")
  44. }
  45. });
  46. }
  47. else
  48. {
  49. $.extend($.validator,
  50. {
  51. messages:
  52. {
  53. required: "该字段为必填字段",
  54. remote: "Please fix this field",
  55. email: "请填写合法的邮箱地址",
  56. url: "请填写合法的URL",
  57. date: "请填写合法的日期",
  58. dateISO: "请填写合法的日期(ISO)",
  59. number: "请填写合法的数字",
  60. digits: "只能填写数字",
  61. creditcard: "请填写合法信用卡号",
  62. equalTo: "请再输入相同的值",
  63. accept: "Please enter a value with a valid extension.",
  64. maxlength: $.validator.format("至多输入{0}个字符"),
  65. minlength: $.validator.format("至少输入{0}个字符"),
  66. rangelength: $.validator.format("值的长度必须介于{0}和{1}之间"),
  67. range: $.validator.format("值必须介于{0}和{1}之间"),
  68. max: $.validator.format("值必须小于等于{0}."),
  69. min: $.validator.format("值必须大于等于{0}.")
  70. }
  71. });
  72. }
  73. /*
  74. $.extend($.validator,
  75. {
  76. methods:
  77. {
  78. required: function(value, element, param) {
  79. // check if dependency is met
  80. if ( !this.depend(param, element) )
  81. return "dependency-mismatch";
  82. switch( element.nodeName.toLowerCase() ) {
  83. case 'select':
  84. // could be an array for select-multiple or a string, both are fine this way
  85. var val = $(element).val();
  86. return val && val.length > 0;
  87. case 'input':
  88. if ( this.checkable(element) )
  89. return this.getLength(value, element) > 0;
  90. default:
  91. return $.trim(value).length > 0;
  92. }
  93. }
  94. }
  95. });
  96. */
  97. }
  98. </script>