Blame view

www-backend/js/validate.js 3.87 KB
1ea3b987   Administrator   maby first commit
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
  jQuery(document).ready( function(){

      var reg, fielsVoid;

      var validator = new Object();

      validator.email = /^([a-z0-9_\.-]+)@([a-z0-9_\.-]+)\.([a-z\.]{2,6})$/;

      validator.url = /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;

      validator.name =  /^[a-zA-Zа-яА-ЯёЁ ]+$/;

      validator.title = /^[a-zA-Zа-яА-ЯёЁ ]+$/;

      validator.login = /^[a-z0-9_-]{1,16}$/;

      validator.password = /^[a-zA-Zа-яА-ЯёЁ ]{1,20}$/;

  

      testFild = function(validator, reg) {

  

  

      validator.errors = false;

  

      if(validator.оbligatory) {

          if (!validator.field.val().replace(/\s+/g, '').length) {

              validator.errors = true;

          }

      }

  

  

  

       if(validator.confirm) {

           validator.field.closest('form').find('#'+validator.confirm).each(function(){

               if (validator.field.val() == $(this).val()) {

                   return validator.errors = false;

               } else {

                   return validator.errors = true;

               }

           })

       }

  

  

       if (!validator[reg].test(validator.field.val())) {

           validator.errors = true;

       }

  

       if(!validator.errors && validator.ajaxceck){

           var ajax,dataArray;

           var id = $('#send-form').find('#id-input').val();

           var name =  validator.field.attr('name');

           var field = {

               name : name,

               value: validator.field.val(),

               id: id

           };

  

           var str = JSON.stringify(field);

  

           ajax = $.ajax({

               type: "POST",

               url: validator.urlvalid,

               data: "data="+str,

               dataType: "text",

               async: false,

               success: function (data){data;}

          }).responseText;

           dataArray = $.parseJSON(ajax);

           validator.errors = dataArray.errors;

           $('.errorMessage').remove();

           $('<p class = "errorMessage">'+dataArray.message+'</p>').appendTo(validator.field.closest('.input-group'));

  

       }

  

       if ( !validator.errors) {

           console.log(validator.errors);

           return  validator.field.removeClass('valid-input').removeClass('error-input').addClass('valid');

       } else {

           console.log(validator.errors);

           return  validator.field.removeClass('valid').removeClass('error-input').addClass('error-input');

       }

      };

  

      $('.validate-input').on('keyup', function() {

          validator.field = $(this);

          reg = $(this).data('reg');

          validator.оbligatory = $(this).data('оbligatory');

          validator.ajaxceck = $(this).data('ajaxceck');

          validator.confirm = $(this).data('confirm');

          validator.urlvalid = $(this).closest('form').data("url");

          return testFild(validator, reg);

      });

  

      $('.validate-input').on('change', function() {

          validator.field = $(this);

          reg = $(this).data('reg');

          validator.оbligatory = $(this).data('оbligatory');

          validator.ajaxceck = $(this).data('ajaxceck');

          validator.confirm = $(this).data('confirm');

          validator.urlvalid = $(this).closest('form').data("url");

          return testFild(validator, reg);

      });

  

      $('#send-form').submit(function(event) {

          $(this).find('input').each(function(){

              if($(this).data('оbligatory')) {

                  validator.field = $(this);

                  reg = $(this).data('reg');

                  validator.оbligatory = $(this).data('оbligatory');

                  validator.ajaxceck = $(this).data('ajaxceck');

                  validator.confirm = $(this).data('confirm');

                  validator.urlvalid = $(this).closest('form').data("url");

                  testFild(validator, reg);

              }

          });

          if($(this).find('.error-input').length){

              event.preventDefault();

              event.returnValue = false;

          }

      })

  

  });