Guest User

Untitled

a guest
Jul 20th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. validation: function(form, options){
  2. var requestOptions = {};
  3. if(options && options.requestOptions){
  4. requestOptions = options.requestOptions;
  5. delete options.requestOptions;
  6. }
  7. var vOptions = Object.extend({
  8. submitOnValid: false,
  9. onInvalid: function(elem, rule, message, provalidate){
  10. var elem = $(elem);
  11. var elemOffset = elem.positionedOffset();
  12. var elemId = elem.identify();
  13. var span = new Element('span',{
  14. 'class': elemId +' errorMessage'
  15. }).update(message).setStyle({
  16. top: (elemOffset.top + elem.getHeight()) + 'px',
  17. left: elemOffset.left + 'px'
  18. });
  19.  
  20. elem.insert({after: span});
  21.  
  22. elem.observe('blur', function(ev){
  23. provalidate.clearInvalid(elem);
  24. if(provalidate.validate(elem)){
  25. elem.stopObserving('blur');
  26. }
  27. });
  28.  
  29. return false;
  30. },
  31.  
  32. onFormValid: function(provalidate){
  33.  
  34. var options = Object.extend(Outland.requestDefaults, {
  35. onSuccess: function(t){
  36. var json = t.responseJSON, errors, elem, message;
  37. if(json.status === 'failed'){
  38. errors = json.message;
  39. for(var i in errors){
  40. elem = i;
  41. rule = errors[i];
  42. provalidate.trigger(elem, rule);
  43. }
  44. }
  45. }
  46. });
  47. provalidate.form.request(Object.extend(options, requestOptions));
  48. }
  49. }, options || {});
  50. return new ProValidate(form, vOptions);
  51. }
  52.  
  53. ##/** First Call **/
  54. // validate this.form
  55. this.validation = Outland.Form.validation(this.form.identify(),{
  56. requestOptions:{
  57. onComplete: function(t){
  58. var json = t.responseJSON;
  59. if(json.status !== 'success') return;
  60. if(json.data) Listing.instance.data = json.data;
  61. Listing.instance.getListings('lid_'+Listing.instance.data.id);
  62. }
  63. }
  64. });
  65.  
  66. ##/**Second Call **/
  67. var validation = Outland.Form.validation(form);
  68.  
  69. /*
  70. The Second call still uses the same requestOptions as the first.
  71. */
Add Comment
Please, Sign In to add comment