달성하려는 목표를 달성하는 데는 여러 가지 방법이 있습니다. 어떤 종류의 프레임 워크를 사용하고 있습니까? 이것을 위해 내장되었을 수도 있습니다. 일반적으로 표준 함수 나 라이브러리를 사용하여 검증을하는 것은 나쁜 생각이 아닙니다.
당신이 그것을하지 않으면 서버 측 (PHP) 또는 사용자 측 (자바 스크립트)이 될 때마다 결정해야합니다. 서버 측에서 악의적 인 제출물을 잡으려면 관계없이 확인해야합니다.
예제를 살펴보면 서버 측 PHP 검증에서 사용자에게 결과가 표시되는 것처럼 보일 수 있습니다. 는 등 수정 될 수있는 $ _GET을 사용하고 진짜로 불안이 정말 조심하십시오
<?php
$username = '';
$warning = '';
if(isset($_POST['submit'])){
if(!empty($_POST['username']) && strlen(trim($_POST['username'])) != 0){
$username = $_POST['username'];
if(strlen($username) > 8){
$warning = 'Only 8 characters allowed!';
}else{
header("Location: next_page.php");
}
}
else
{
$warning = 'Username is empty, please provide a valid name.';
}
}
?>
<form action="form.php" method="post">
<input type="text" name="username" value="<?php echo($username); ?>" />
<?php echo($warning); ?>
<input type="submit" name="submit" />
</form>
이 조각은 경우 아무것도에 입력이 잘못 보존하고 데이터가 유효 할 경우에만 다음 페이지로 리디렉션합니다. jQuery를 사용하는 예는 다음과 같을 수 있습니다 :
<html lang="en">
<head>
<meta charset="utf-8">
<title>event.preventDefault demo</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body>
<form action="form.php" method="post">
<input type="text" name="username" id="formUsername" />
<span id="warning"> </span>
<input type="submit" name="submit" />
</form>
<script>
$(document).ready(function() {
$("form").submit(function(event) {
var username = $("#formUsername").val().trim();
if(username.length > 0 && username.length < 9){
$("form").submit();
}
else if(username.length > 8)
{
$("#warning").text("More than 8 characters.");
event.preventDefault();
}
else{
$("#warning").text("Empty username?");
event.preventDefault();
}
});
});
</script>
</body>
</html>
HTML5'pattern' 속성 또는 JS를 사용할 수 있습니다. 오,'submit' 타입! – user5173426
양식에 "submit"이라는 이름의 양식 요소가 있습니까? 아니? 그렇다면 어떻게해야합니까? 그럼 어떻게 코드에서 볼 수 있습니까? –
또한 자바 스크립트와 PHP를 혼합하는 것처럼 보입니다 (자신 만의 alrt() 함수를 작성하지 않았다면이 질문의 단순성에 기반을 두었습니다). –