CodeIgniter-양식 유효성 검사
유효성 검사는 웹 애플리케이션을 구축하는 동안 중요한 프로세스입니다. 그것은 우리가 얻는 데이터가 저장 또는 처리하기에 적절하고 유효한지 확인합니다. CodeIgniter는이 작업을 매우 쉽게 만들었습니다. 간단한 예를 들어이 과정을 이해합시다.
예
보기 파일 만들기 myform.php 아래 코드를 저장하십시오. application/views/myform.php. 이 페이지에는 사용자가 자신의 이름을 제출할 수있는 양식이 표시되며 제출하는 동안 비어 있지 않은지 확인하기 위해이 페이지의 유효성을 검사합니다.
<html>
<head>
<title>My Form</title>
</head>
<body>
<form action = "" method = "">
<?php echo validation_errors(); ?>
<?php echo form_open('form'); ?>
<h5>Name</h5>
<input type = "text" name = "name" value = "" size = "50" />
<div><input type = "submit" value = "Submit" /></div>
</form>
</body>
</html>
보기 파일 만들기 formsuccess.php 그리고 그것을 저장하십시오 application/views/formsuccess.php. 양식이 성공적으로 검증되면이 페이지가 표시됩니다.
<html>
<head>
<title>My Form</title>
</head>
<body>
<h3>Your form was successfully submitted!</h3>
<p><?php echo anchor('form', 'Try it again!'); ?></p>
</body>
</html>
컨트롤러 파일 만들기 Form.php 그리고 그것을 저장하십시오 application/controller/Form.php. 이 양식은 제대로 확인되지 않거나 리디렉션되지 않은 경우 오류를 표시합니다.formsuccess.php 페이지.
<?php
class Form extends CI_Controller {
public function index() {
/* Load form helper */
$this->load->helper(array('form'));
/* Load form validation library */
$this->load->library('form_validation');
/* Set validation rule for name field in the form */
$this->form_validation->set_rules('name', 'Name', 'required');
if ($this->form_validation->run() == FALSE) {
$this->load->view('myform');
}
else {
$this->load->view('formsuccess');
}
}
}
?>
다음 줄을 추가하십시오. application/config/routes.php.
$route['validation'] = 'Form';
브라우저에서 다음 URL을 방문하여이 예제를 실행 해 보겠습니다. 이 URL은 사이트에 따라 다를 수 있습니다.
http://yoursite.com/index.php/validation
다음 화면이 생성됩니다-
컨트롤러에 유효성 검사를 추가했습니다. Name양식을 제출하기 전에 필수 필드입니다. 따라서 이름 필드에 아무것도 입력하지 않고 제출 버튼을 클릭하면 아래 화면과 같이 제출하기 전에 이름을 입력하라는 메시지가 표시됩니다.
이름을 성공적으로 입력하면 아래와 같은 화면으로 이동합니다.
위의 예에서는 필수 규칙 설정을 사용했습니다. CodeIgniter에는 아래에 설명 된 많은 규칙이 있습니다.
유효성 검사 규칙 참조
다음은 사용할 수있는 모든 기본 규칙의 목록입니다.
규칙 | 매개 변수 | 기술 | 예 |
---|---|---|---|
required |
아니 | 양식 요소가 비어 있으면 FALSE를 반환합니다. | |
matches |
예 | 양식 요소가 매개 변수의 요소와 일치하지 않으면 FALSE를 리턴합니다. | 일치 [form_item] |
regex_match |
예 | 양식 요소가 정규식과 일치하지 않으면 FALSE를 반환합니다. | 정규식 일치 [/ 정규식 /] |
differs |
예 | 양식 요소가 매개 변수의 요소와 다르지 않으면 FALSE를 리턴합니다. | 다름 [form_item] |
is_unique |
예 | 양식 요소가 매개 변수의 테이블 및 필드 이름에 고유하지 않은 경우 FALSE를 리턴합니다. 참조 :이 규칙이 작동하려면 Query Builder 를 활성화해야합니다. | is_unique [table.field] |
min_length |
예 | 양식 요소가 매개 변수 값보다 짧은 경우 FALSE를 리턴합니다. | min_length [3] |
max_length |
예 | 양식 요소가 매개 변수 값보다 길면 FALSE를 리턴합니다. | 최대 길이 [12] |
exact_length |
예 | 양식 요소가 정확히 매개 변수 값이 아닌 경우 FALSE를 반환합니다. | 정확한 _ 길이 [8] |
greater_than |
예 | 양식 요소가 매개 변수 값보다 작거나 같거나 숫자가 아닌 경우 FALSE를 리턴합니다. | 보다 큼 [8] |
greater_than_equal_to |
예 | 양식 요소가 매개 변수 값보다 작거나 숫자가 아닌 경우 FALSE를 리턴합니다. | greater_than_equal_to [8] |
less_than |
예 | 양식 요소가 매개 변수 값보다 크거나 같거나 숫자가 아닌 경우 FALSE를 리턴합니다. | less_than [8] |
less_than_equal_to |
예 | 양식 요소가 매개 변수 값보다 크거나 숫자가 아닌 경우 FALSE를 리턴합니다. | less_than_equal_to [8] |
in_list |
예 | 양식 요소가 미리 결정된 목록에 없으면 FALSE를 반환합니다. | in_list [빨간색, 파란색, 녹색] |
alpha |
아니 | 양식 요소에 알파벳 문자 이외의 것이 포함 된 경우 FALSE를 반환합니다. | |
alpha_numeric |
아니 | 양식 요소에 영숫자 이외의 문자가 포함 된 경우 FALSE를 반환합니다. | |
alpha_numeric_spaces |
아니 | 양식 요소에 영숫자 문자 또는 공백 이외의 내용이 포함 된 경우 FALSE를 반환합니다. 시작 또는 끝에 공백을 피하기 위해 트림 후 사용해야합니다. | |
alpha_dash |
아니 | 양식 요소에 영숫자 문자, 밑줄 또는 대시 이외의 것이 포함 된 경우 FALSE를 반환합니다. | |
numeric |
아니 | 양식 요소에 숫자 이외의 것이 포함 된 경우 FALSE를 반환합니다. | |
integer |
아니 | 양식 요소에 정수 이외의 것이 포함 된 경우 FALSE를 반환합니다. | |
decimal |
아니 | 양식 요소에 10 진수 이외의 것이 포함 된 경우 FALSE를 반환합니다. | |
is_natural |
아니 | 양식 요소에 0, 1, 2, 3 등의 자연수 이외의 것이 포함되어 있으면 FALSE를 반환합니다. | |
is_natural_no_zero |
아니 | 양식 요소에 자연수 이외의 것이 포함되어 있지만 0-1, 2, 3 등이 포함되지 않은 경우 FALSE를 반환합니다. | |
valid_url |
아니 | 양식 요소에 유효한 URL이 포함되지 않은 경우 FALSE를 반환합니다. | |
valid_email |
아니 | 양식 요소에 유효한 이메일 주소가 포함되어 있지 않으면 FALSE를 반환합니다. | |
valid_emails |
아니 | 쉼표로 구분 된 목록에 제공된 값이 유효한 이메일이 아닌 경우 FALSE를 반환합니다. | |
valid_ip |
아니 | 제공된 IP가 유효하지 않으면 FALSE를 반환합니다. IP 형식을 지정하기 위해 'ipv4'또는 'ipv6'의 선택적 매개 변수를 허용합니다. | |
valid_base64 |
아니 | 제공된 문자열에 유효한 Base64 문자가 아닌 다른 문자가 포함 된 경우 FALSE를 반환합니다. |