Number.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. MWF.xDesktop.requireApp("process.Xform", "Number", null, false);
  2. MWF.xApplication.cms.Xform.Number = MWF.CMSNumber = new Class({
  3. Extends: MWF.APPNumber,
  4. validationConfigItem: function(routeName, data){
  5. var flag = (data.status=="all") ? true: (routeName == "publish");
  6. if (flag){
  7. var n = this.getInputData();
  8. var strN = n.toString();
  9. if( n === "" && this.json.emptyValue === "string" )n = 0;
  10. var v = (data.valueType=="value") ? n : strN.length;
  11. var strV = (data.valueType=="value") ? strN : strN.length;
  12. switch (data.operateor){
  13. case "isnull":
  14. if (!strV && strV.toString()!=='0'){
  15. this.notValidationMode(data.prompt);
  16. return false;
  17. }
  18. break;
  19. case "notnull":
  20. if (strV){
  21. this.notValidationMode(data.prompt);
  22. return false;
  23. }
  24. break;
  25. case "gt":
  26. if (v>parseFloat(data.value)){
  27. this.notValidationMode(data.prompt);
  28. return false;
  29. }
  30. break;
  31. case "lt":
  32. if (v<parseFloat(data.value)){
  33. this.notValidationMode(data.prompt);
  34. return false;
  35. }
  36. break;
  37. case "equal":
  38. if (v==parseFloat(data.value)){
  39. this.notValidationMode(data.prompt);
  40. return false;
  41. }
  42. break;
  43. case "neq":
  44. if (v!=parseFloat(data.value)){
  45. this.notValidationMode(data.prompt);
  46. return false;
  47. }
  48. break;
  49. case "contain":
  50. if (strV.toString().indexOf(data.value)!=-1){
  51. this.notValidationMode(data.prompt);
  52. return false;
  53. }
  54. break;
  55. case "notcontain":
  56. if (strV.toString().indexOf(data.value)==-1){
  57. this.notValidationMode(data.prompt);
  58. return false;
  59. }
  60. break;
  61. }
  62. }
  63. return true;
  64. }
  65. });