/**
  * Build validation rules
  *
  * @param ProductAttributeInterface $attribute
  * @param array $data
  * @return array
  */
 public function build(ProductAttributeInterface $attribute, array $data)
 {
     $rules = [];
     if (!empty($data['required'])) {
         $rules['required-entry'] = true;
     }
     if ($attribute->getFrontendInput() === 'price') {
         $rules['validate-zero-or-greater'] = true;
     }
     $validationClasses = explode(' ', $attribute->getFrontendClass());
     foreach ($validationClasses as $class) {
         if (preg_match('/^maximum-length-(\\d+)$/', $class, $matches)) {
             $rules = array_merge($rules, ['max_text_length' => $matches[1]]);
             continue;
         }
         if (preg_match('/^minimum-length-(\\d+)$/', $class, $matches)) {
             $rules = array_merge($rules, ['min_text_length' => $matches[1]]);
             continue;
         }
         $rules = $this->mapRules($class, $rules);
     }
     return $rules;
 }