>

제 양식에서 jquery-masked-input 로 설정된텍스트 필드가 있습니다. jquery스크립트입니다 :

<script>
jQuery(function ($) {
    $("#reg-number").mask("99.999.999.9-999.999");
});
</script>

그런 다음 값은문장없이 데이터베이스에 저장됩니다. 따라서 다음과 같이 값을 입력하면

mysSQL데이터베이스에 다음과 같이 저장됩니다 :

그러나이 필드를고유로 설정해야합니다. 따라서model.php에이 유효성 검사를 추가합니다 :

public function rules()
{
    return [
        [['regNumber'], 'required'],
        [['regNumber'], 'string', 'max' => 32, 'min' => 15],
    ];
}

하지만 작동하지 않았지만textfield의 값에 구두점이 포함되어 있고 데이터베이스 열에 구두점이 포함되어 있지 않기 때문입니다.

어떻게 작동하게합니까?

감사합니다

  • 답변 # 1

    필터 유효성 검사기를 사용해보십시오.

    ['regNumber', 'filter', 'skipOnArray' => true, 'filter' => function ($value) {
       return preg_replace("/[^a-zA-Z 0-9]+/", "", $value);
    }],
    [['regNumber'], 'string', 'max' => 32, 'min' => 15],
    [['regNumber'], 'unique'],
    
    

    하지만 테스트되지 않았습니다 :)

  • 이전 C # 콤보 박스 현재 날짜 표시
  • 다음 android - 두 개의 TextView를 차례로 정렬 (첫 ​​번째 텍스트 뷰가 매우 길어짐)