PasswordValidator.as 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package com.imt.intimamedia.helpers
  2. {
  3. import mx.validators.StringValidator;
  4. import mx.validators.ValidationResult;
  5. [Bindable]
  6. public class PasswordValidator extends StringValidator
  7. {
  8. public function PasswordValidator() {
  9. super();
  10. }
  11. private var _originalPassword : String = "";
  12. private var _message : String = "";
  13. [Inspectable(category="General", defaultValue="null")]
  14. /**
  15. * Mot de passe original à comparer
  16. *
  17. * @default ""
  18. */
  19. public function get originalPassword() : String
  20. {
  21. return _originalPassword;
  22. }
  23. /**
  24. * @private
  25. */
  26. public function set originalPassword( value : String ) : void
  27. {
  28. _originalPassword = value;
  29. }
  30. /**
  31. * Message à afficher en cas d'erreur
  32. *
  33. * @default ""
  34. */
  35. public function get message() : String
  36. {
  37. return _message;
  38. }
  39. /**
  40. * @private
  41. */
  42. public function set message( value : String ) : void
  43. {
  44. _message = value;
  45. }
  46. private static function validatePassword(validator:PasswordValidator, value:String, valueToCompare:String, message:String, baseField:String = null) : Array
  47. {
  48. var results:Array = new Array();
  49. if( value != valueToCompare )
  50. results.push(new ValidationResult(true, baseField, "differentPassword", message));
  51. return results;
  52. }
  53. override protected function doValidation( value : Object ) : Array
  54. {
  55. var results : Array = super.doValidation( value );
  56. //return if there are errors
  57. //or if the required property is set to false and length is 0
  58. var val : String = value ? String( value ) : "";
  59. if( results.length > 0 || ( ( val.length == 0 ) && !required ) )
  60. return results;
  61. else
  62. return PasswordValidator.validatePassword(this, (value as String), originalPassword, message, null);
  63. }
  64. }
  65. }