2017-11-22 7 views

답변

0

그래서 모델 규칙에서 나는 validateImage 내가 같은 모델에서 쓴 사용자 정의 기능입니다

[['image'], 'validateImage'] 

추가 당신은 코드를 넣을 수 있습니다

['image', 'validateimagecheck'], 

validateimagecheck 다음과 같은 모델에서 기능을 넣을 수 있습니다. w

public function validateimagecheck($attribute, $params) 
{ 
if (!(file_exists($this->image))) { 
$this->addError('image', 'Please enter valid image url'); 
} 


} 
2

이 같은 자신의 유효성 검사를 추가 할 수 있습니다

['image', function($attribute, $params) { 
    if (filter_var($this->image, FILTER_VALIDATE_URL) === FALSE) { 
     $this->addError('image', 'Not an URL.'); 
     return; 
    } 
    try { 
     $headers = get_headers($this->image); 
     if (!stripos($headers[0], "200 OK")) 
      $this->addError('image', 'Invalid URL.'); 
    } catch (\Exception $e) { 
     $this->addError('image', 'Invalid URL.'); 
    } 
} ], 

그러나, 내 컴퓨터에서이 조금 느립니다. 그러나 한번 사용해보십시오.

// function that checks if path leads to an actual image 
    public function validateImage($attribute, $params, $validator) { 
     if (!($something = @getimagesize($this->$attribute))) { 
     $this->addError($attribute, 'Such an image doen\'t exist'); 
     } 
    } 
+0

안녕하세요, 답장을 보내 주셔서 감사합니다. 이미 해결책을 찾았습니다. 사용자 지정 함수를 만들어 규칙의 필터로 사용했습니다. – Dmitriy

+0

@ 드미트리 파인. 자신의 질문에 대답하여 솔루션을 게시 할 수 있습니다. 다른 사람들을 도울 수 있고 흥미로울 것입니다. 너무 특별하지 않다면 ... – robsch

+0

물론, 나는 일하는 PC에서 미안해. – Dmitriy

0

당신이 규칙 배열의 모델에서 사용자 지정 유효성 검사 규칙을 작성할 수 있습니다