public function rules()
 {
     if ($this->getScenario() == 'extraColumn') {
         $requiredRuleIsApplicable = true;
     } else {
         $requiredRuleIsApplicable = false;
     }
     $defaultValueApplicableModelAttributeRules = ModelAttributeRulesToDefaultValueMappingRuleUtil::getApplicableRulesByModelClassNameAndAttributeName($this->modelClassName, 'state', static::getAttributeName(), $requiredRuleIsApplicable);
     return array_merge(parent::rules(), $defaultValueApplicableModelAttributeRules);
 }
 public function rules()
 {
     if ($this->getScenario() == 'extraColumn') {
         $requiredRuleIsApplicable = true;
     } else {
         $requiredRuleIsApplicable = false;
     }
     $defaultValueApplicableModelAttributeRules = ModelAttributeRulesToDefaultValueMappingRuleUtil::getApplicableRulesByModelClassNameAndAttributeName($this->modelClassName, 'hash', static::getAttributeName(), $requiredRuleIsApplicable);
     //Remove the has length rule
     foreach ($defaultValueApplicableModelAttributeRules as $index => $rule) {
         if ($rule[1] == 'length') {
             unset($defaultValueApplicableModelAttributeRules[$index]);
         }
     }
     return array_merge(parent::rules(), $defaultValueApplicableModelAttributeRules);
 }