我的项目中有一个配置文件创建表单,我正在使用 react-hooks-form 和 yup 库进行验证。
在表单中有一个名为Github-Username 的字段,这是可选的。但是我想验证它是否用户输入了用户名并且它应该超过 2 个字符,类似这样。
const schema = yup.object().shape({
company: yup.string().min(3).required(),
website: yup.string(),
location: yup.string().min(2).required(),
skills: yup.string().min(3).required(),
githubUsername: yup.string().min(3).nullable().notRequired(),
bio: yup.string(),
});
const { register, handleSubmit, errors, touched } = useForm({
resolver: yupResolver(schema),
});
Run Code Online (Sandbox Code Playgroud)
// 表单域
<Form.Group controlId="formBasicGusername">
<Form.Label>Github Username</Form.Label>
<Form.Control
type="text"
name="githubUsername"
ref={register}
/>
<span className="text-danger text-capitalize">
{errors.githubUsername?.message}
</span>
</Form.Group>
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止编写的架构,它不适用于 githubUsername。如果它是空的,它会显示错误。我只想在它不为空时进行验证。这有什么线索吗?
我正在处理一个 Django 项目,我向数据库添加一个事件,然后在添加事件后向所有订阅者发送电子邮件。我想做异步发送电子邮件任务,我关注了一些博客文章并提出了这个。
from asgiref.sync import sync_to_async
import asyncio
Run Code Online (Sandbox Code Playgroud)
这是添加事件视图
@login_required(login_url='/login/')
async def add_event_view(request):
if request.method == 'POST':
title = request.POST.get('title')
description = request.POST.get('editor')
menu = request.POST.get('menu')
tags = request.POST.get('tags')
banner = request.FILES.get('banner')
data = request.FILES.get('data', None)
organised_by = request.POST.get('organised_by', None)
sponsored_by = request.POST.get('sponsored_by', None)
event_date = request.POST.get('event_date', None)
uploaded_at = request.POST.get('uploaded_at')
Event.objects.create(user_id=request.user, event_title=title, event_description=description, event_category=menu, event_tags=tags,
event_banner=banner, event_data=data, organised_by=organised_by, sponsored_by=sponsored_by, event_date=event_date, uploaded_at=uploaded_at)
await sync_to_async(send_email(title))
return redirect(etab_view)
Run Code Online (Sandbox Code Playgroud)
这是邮件发送功能
async def send_email(title):
event = Event.objects.get(event_title=title)
content = render_to_string("email.html", {'et': event})
subs …
Run Code Online (Sandbox Code Playgroud) 我正在使用 React、HTML 和 CSS 制作这张卡片
这是我的代码:
<div className="plan">
<div className="plan-name">
<h5>BASIC</h5>
</div>
<div className="plan-price">
<h2>$ 6.99</h2>
<span>Screen Availabilty Simultaneously</span>
</div>
<div className="plan-details">
<ul>
<li>
<span>
<CheckIcon />
</span>
Access to All Library in Unlimited
</li>
<li>New Content Monthly</li>
<li>Available on PC, Smartphones and tablet</li>
<li>Drawing in Color</li>
<li>Color in Very High Quality</li>
<li>Canceable at Any Time</li>
</ul>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
.plan {
border-radius: 25px;
overflow: hidden;
background-color: #fff;
}
.plan-name {
background-color: #3e104f;
padding: 25px 0;
border-style: solid;
border-width: 0; …
Run Code Online (Sandbox Code Playgroud) reactjs ×2
async-await ×1
asynchronous ×1
bootstrap-4 ×1
css ×1
django ×1
html ×1
python ×1
react-hooks ×1
yup ×1