gpt4 book ai didi

javascript - Django 1.7 w/AJAX,我如何或在哪里清理要在 AJAX 请求中传递的输入

转载 作者:行者123 更新时间:2023-11-29 19:31:23 25 4
gpt4 key购买 nike

我有一个非常简单的 Django 应用程序,它将一些表单输入传递给 AJAX 调用。整个事情按原样运行良好,数据未清理,但我想确保我只传递 [a-zA-Z],没有特殊字符,也没有整数。最好在表单/模型字段上使用自定义验证器来处理这个问题吗?或者,在与 AJAX 请求相关的 View 中清理它是否更好?

这是我的 AJAX 调用和相关 View 的不完整片段。

$.ajax({
url : "/create_post/",
type : "POST",
data : {
first_name : $('#id_first_name').val(),
last_name : $('#id_last_name').val(),
department : $('#id_department').val()
},

View 的相关部分:

def create_post(request):
if request.method == 'POST':
first_name = request.POST.get('first_name')
last_name = request.POST.get('last_name')
department = request.POST.get('department')
...
results = search(first_name, last_name, department)

最佳答案

首先,您肯定想在服务器上进行。出于可用性原因,建议在 javascript 中进行验证,但它不能替代服务器端验证。

处理来自 JSON 请求的数据验证与任何其他 View 相同:使用 django 表单。像往常一样设置字段,加载数据并调用 is_valid

所以,像这样:

class UserForm(Form):
first_name = forms.RegexField(regex=r'$[a-zA-Z]^')
# ...etc

def create_post(request):
if request.method == 'POST':
form = UserForm(request.POST)
if form.is_valid():
return search(form.cleaned_data['first_name'], ...)
else:
# some sort of error response

关于javascript - Django 1.7 w/AJAX,我如何或在哪里清理要在 AJAX 请求中传递的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27281553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com