mirror of
https://github.com/wahyd4/links.git
synced 2026-08-09 05:06:16 +10:00
Update logic of creating and updating links and do not allow any special characters
This commit is contained in:
@@ -63,6 +63,7 @@ coverage.xml
|
||||
.python-version
|
||||
|
||||
3.12/lib/python3.12/site-packages/
|
||||
3.12/include
|
||||
|
||||
# Tailwind CSS
|
||||
/static/css/dist/
|
||||
|
||||
Binary file not shown.
Binary file not shown.
+19
-6
@@ -72,6 +72,17 @@ class LinkCreateView(CreateView):
|
||||
initial['alias'] = alias
|
||||
return initial
|
||||
|
||||
def form_valid(self, form):
|
||||
alias = form.cleaned_data.get('alias')
|
||||
if not self.is_valid_alias(alias):
|
||||
form.add_error('alias', _("Alias cannot contain special characters."))
|
||||
return self.form_invalid(form)
|
||||
return super().form_valid(form)
|
||||
|
||||
def is_valid_alias(self, alias):
|
||||
# 检查别名是否包含特殊字符
|
||||
return alias.isalnum() # 只允许字母和数字
|
||||
|
||||
class LinkUpdateView(UpdateView):
|
||||
model = Link
|
||||
form_class = LinkForm
|
||||
@@ -79,13 +90,15 @@ class LinkUpdateView(UpdateView):
|
||||
success_url = reverse_lazy('link_list')
|
||||
|
||||
def form_valid(self, form):
|
||||
try:
|
||||
return super().form_valid(form)
|
||||
except ValidationError as e:
|
||||
for field, errors in e.message_dict.items():
|
||||
for error in errors:
|
||||
messages.error(self.request, f"{error}")
|
||||
alias = form.cleaned_data.get('alias')
|
||||
if not self.is_valid_alias(alias):
|
||||
form.add_error('alias', _("Alias cannot contain special characters."))
|
||||
return self.form_invalid(form)
|
||||
return super().form_valid(form)
|
||||
|
||||
def is_valid_alias(self, alias):
|
||||
# 检查别名是否包含特殊字符
|
||||
return alias.isalnum() # 只允许字母和数字
|
||||
|
||||
def form_invalid(self, form):
|
||||
for field, errors in form.errors.items():
|
||||
|
||||
Reference in New Issue
Block a user