2012-11-15 2 views
-1

입력 폼을 만들고 있는데 현재 코드의 유효성을 검사하는 중입니다. 블로그에서이 유효성 검사 코드를 실행하고 꽤 깔끔하게 보입니다. 아무도 양식에이 코드를 구현하는 방법을 알고 있습니까? 어떤 도움을 주셔서 감사합니다.PHP 유효성 입력 폼

function field_validator($field_descr, $field_data, $field_type, $min_length="", $max_length="", $field_required=1) { 
    # array for storing error messages 
    global $messages; 

    # first, if no data and field is not required, just return now: 
    if(!$field_data && !$field_required){ return; } 
    # initialize a flag variable - used to flag whether data is valid or not 
    $field_ok=false; 
    # this is the regexp for email validation: 
    $email_regexp="^([a-zA-Z0-9_-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|" 
    $email_regexp.="(([a-zA-Z0-9-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$"; 
    # a hash array of "types of data" pointing to "regexps" used to validate the data: 
    $data_types=array(
     "email"=>$email_regexp, 
     "digit"=>"^[0-9]$", 
     "number"=>"^[0-9]+$", 
     "alpha"=>"^[a-zA-Z]+$", 
     "alpha_space"=>"^[a-zA-Z ]+$", 
     "alphanumeric"=>"^[a-zA-Z0-9]+$", 
     "alphanumeric_space"=>"^[a-zA-Z0-9 ]+$", 
     "string"=>"" 
    ); 

    # check for required fields 
    if ($field_required && empty($field_data)) { 
     $messages[] = "$field_descr is a required field."; 
     return; 
    } 

    # if field type is a string, no need to check regexp: 
    if ($field_type == "string") { 
     $field_ok = true; 
    } else { 
     # Check the field data against the regexp pattern: 
     $field_ok = ereg($data_types[$field_type], $field_data); 
    } 

    # if field data is bad, add message: 
    if (!$field_ok) { 
     $messages[] = "Please enter a valid $field_descr."; 
     return; 
    } 

    # field data min length checking: 
    if ($field_ok && $min_length) { 
     if (strlen($field_data) $max_length) { 
      $messages[] = "$field_descr is invalid, it should be less than $max_length characters."; 
      return; 
     } 
    } 
} 
+0

; 그렇지 않으면 나는 reducetimewehavetospendonit.eu를 제안한다 – ShinTakezou

+0

당신은 이것을 썼 느냐? 그렇지 않으면 코드에서 오류가 발생합니다. 왜 당신 자신의 함수를 만들지 않겠습니까? – Phorce

+0

조언 해 주셔서 감사합니다. 우리가 말하는 것처럼 코드를 제 형식으로 맞추십시오. – Mijail

답변

2

jQuery를 사용하려고 ...

<form id="regForm" name="regForm" method="post" action="insert.php"> 
    <label for="Fname">Name </label> 
    <input id="_Fname" name= "Fname" value=''/> 
    <input id="_Lname" name= "Lname" value=''/> 
    <input id="saveForm" type="submit" name="submit" value="Submit" /> 
</form> 

와의 js 파일은 다음과 같이 될 것이다 .. whathaveyoutried.com는 숙제에 대한 좋은

(function($,W,D) 
{ 
    var JQUERY4U = {}; 

    JQUERY4U.UTIL = 
    { 
     setupFormValidation: function() 
     { 
      //form validation rules 
      $("#regForm").validate({ 
     rules: { 
        Fname:{ 
      required: true, 
      minlength: 3 
      }, 
        Lname:{ 
      required: true, 
      minlength: 3 
      }, 
      }, 
      messages: { 
        Fname:{ 
      required: "Please enter your firstname", 
      minlength: "name must b 3 character long" 
      }, 
        Lname: { 
      required: "Please enter your lastname", 
      minlength: "name must b 3 character long" 
      } 
    } 
    $(D).ready(function($) { 
     JQUERY4U.UTIL.setupFormValidation(); 
    }); 
})(jQuery, window, document); 
+0

프런트 엔드 유효성 검사가 보안 유효성 검사가 아니라는 것을 OP에게 알리는 것으로 최소한 답안을 작성해야합니다. 데이터가 유효하지 않거나 불완전하거나 부정확 한 경우 불필요한 양식 제출을 방지하는 편리한 기능을 제공합니다. 데이터를 데이터베이스에 입력하거나 백엔드에서 사용하기 전에 데이터 유효성을 안전하게 확인해야하는 경우 서버에서 유효성을 검사해야합니다. – Steve