欢迎访问宙启技术站
智能推送

Python中如何使用Validator(验证器)检查用户输入合法性

发布时间:2023-12-28 07:46:34

在Python中,可以使用Validator(验证器)来检查用户输入的合法性。Validator是一种用于验证输入数据的类或函数,可以通过定义验证规则和错误信息来检查用户输入的数据是否符合预期的要求。

以下是一个使用Validator的例子,我们将使用一个简单的表单来检查用户输入的姓名和年龄是否合法。

首先,我们可以定义一个Validator类,命名为FormValidator,该类包含两个方法,一个用于验证姓名,一个用于验证年龄。

class FormValidator:

    @staticmethod
    def validate_name(name):
        if not name or len(name) > 20:
            raise ValueError("姓名不能为空且长度不能超过20个字符")

    @staticmethod
    def validate_age(age):
        if not age or not age.isdigit() or int(age) < 0 or int(age) > 120:
            raise ValueError("年龄必须为数字且取值范围在0-120之间")

接下来,我们可以编写一个函数,用于让用户输入姓名和年龄,并使用FormValidator类中的方法进行验证。

def get_user_input():
    name = input("请输入姓名:")
    age = input("请输入年龄:")

    try:
        FormValidator.validate_name(name)
        FormValidator.validate_age(age)
        print("姓名和年龄验证通过!")
    except ValueError as e:
        print("输入不合法:", str(e))

最后,我们调用get_user_input()函数来开始验证用户输入。

get_user_input()

如果用户输入的姓名为空或长度超过20个字符,或者用户输入的年龄不是数字或不在0-120之间,系统将会输出相应的错误提示信息。如果用户输入的数据通过了验证,系统将输出"姓名和年龄验证通过!"的提示信息。

使用Validator可以帮助我们检查用户输入的合法性,避免了一些潜在的错误。在实际应用中,我们可以根据需要定义不同的Validator类或方法来验证不同的输入字段,以确保用户输入的数据符合我们的要求。