public function validate(array $rules = array(), array $customMessages = array()) {
        if ($this->fireModelEvent('validating') === false) {
            if ($this->throwOnValidation) {
                throw new InvalidModelException($this);
            } else {
                return false;
            }
        }

        // check for overrides, then remove any empty rules
        $rules = (empty($rules))? static::$rules : $rules;
        foreach ($rules as $field => $rls) {
            if ($rls == '') {
                unset($rules[$field]);
            }
        }

        if (empty($rules)) {
            $success = true;
        } else {
			$customMessages = (empty($customMessages))? static::$customMessages : $customMessages;

			if ($this->forceEntityHydrationFromInput || (empty($this->attributes) && $this->autoHydrateEntityFromInput)) {
				$this->fill(Input::all());
			}

			$data = $this->getAttributes(); // the data under validation

			// perform validation
			$validator = static::makeValidator($data, $rules, $customMessages);
			$success   = $validator->passes();

			if ($success) {
				// if the model is valid, unset old errors
				if ($this->validationErrors->count() > 0) {
					$this->validationErrors = new MessageBag;
				}
			} else {
				// otherwise set the new ones
				$this->validationErrors = $validator->messages();

				// stash the input to the current session
				if (!self::$externalValidator && Input::hasSession()) {
					Input::flash();
				}
			}
		}

        $this->fireModelEvent('validated', false);

	    if (!$success && $this->throwOnValidation) {
		    throw new InvalidModelException($this);
	    }

        return $success;
    }
public function validate(array $rules = array(), array $customMessages = array()) {
        if ($this->fireModelEvent('validating') === false) {
            if ($this->throwOnValidation) {
                throw new InvalidModelException($this);
            } else {
                return false;
            }
        }

        // check for overrides, then remove any empty rules
        $rules = (empty($rules))? static::$rules : $rules;
        foreach ($rules as $field => $rls) {
            if ($rls == '') {
                unset($rules[$field]);
            }
        }

        if (empty($rules)) {
            $success = true;
        } else {
			$customMessages = (empty($customMessages))? static::$customMessages : $customMessages;

			if ($this->forceEntityHydrationFromInput || (empty($this->attributes) && $this->autoHydrateEntityFromInput)) {
				$this->fill(Input::all());
			}

			$data = $this->getAttributes(); // the data under validation

			// perform validation
			$validator = static::makeValidator($data, $rules, $customMessages);
			$success   = $validator->passes();

			if ($success) {
				// if the model is valid, unset old errors
				if ($this->validationErrors->count() > 0) {
					$this->validationErrors = new MessageBag;
				}
			} else {
				// otherwise set the new ones
				$this->validationErrors = $validator->messages();

				// stash the input to the current session
				if (!self::$externalValidator && Input::hasSession()) {
					Input::flash();
				}
			}
		}

        $this->fireModelEvent('validated', false);

	    if (!$success && $this->throwOnValidation) {
		    throw new InvalidModelException($this);
	    }

        return $success;
    }
public function validate ( array $ rules = array ( ) , array $ customMessages = array ( ) ) { if ( $ this -> fireModelEvent ( 'validating' ) === false ) { if ( $ this -> throwOnValidation ) { throw new InvalidModelException ( $ this ) ; } else { return false ; } } // check for overrides, then remove any empty rules $ rules = ( empty ( $ rules ) ) ? static :: $ rules : $ rules ; foreach ( $ rules as $ field => $ rls ) { if ( $ rls == '' ) { unset ( $ rules [ $ field ] ) ; } } if ( empty ( $ rules ) ) { $ success = true ; } else { $ customMessages = ( empty ( $ customMessages ) ) ? static :: $ customMessages : $ customMessages ; if ( $ this -> forceEntityHydrationFromInput || ( empty ( $ this -> attributes ) && $ this -> autoHydrateEntityFromInput ) ) { $ this -> fill ( Input :: all ( ) ) ; } $ data = $ this -> getAttributes ( ) ; // the data under validation // perform validation $ validator = static :: makeValidator ( $ data , $ rules , $ customMessages ) ; $ success = $ validator -> passes ( ) ; if ( $ success ) { // if the model is valid, unset old errors if ( $ this -> validationErrors -> count ( ) > 0 ) { $ this -> validationErrors = new MessageBag ; } } else { // otherwise set the new ones $ this -> validationErrors = $ validator -> messages ( ) ; // stash the input to the current session if ( ! self :: $ externalValidator && Input :: hasSession ( ) ) { Input :: flash ( ) ; } } } $ this -> fireModelEvent ( 'validated' , false ) ; if ( ! $ success && $ this -> throwOnValidation ) { throw new InvalidModelException ( $ this ) ; } return $ success ; }
Validate the model instance

@param array $rules          Validation rules
@param array $customMessages Custom error messages
@return bool
@throws InvalidModelException
Validate the model instance