V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
TomVista
V2EX  ›  问与答

前端要处理 管理员手残 带来的错误吗?

  •  
  •   TomVista · Sep 6, 2019 · 3435 views
    This topic created in 2426 days ago, the information mentioned may be changed or developed.

    比如在管理界面需要 管理员 提供至少一个商品分类,但是管理员没有输入,

    这个时候前端不处理这个情况,肯定会出 bug,

    那么前端需要考虑到这种情况吗?

    同理前端要处理 数据错误 带来的 bug 吗? 比如上帝消除了数据库的某列的关键字段...

    28 replies    2019-09-25 16:09:18 +08:00
    silencefent
        1
    silencefent  
       Sep 6, 2019   ❤️ 2
    防呆防傻
    lazypu
        2
    lazypu  
       Sep 6, 2019
    创建时表单验证的时候不让过
    airyland
        3
    airyland  
       Sep 6, 2019
    后端肯定要加,前端最好加。
    TomVista
        4
    TomVista  
    OP
       Sep 6, 2019
    @airyland 加的话,一般怎么处理
    airyland
        5
    airyland  
       Sep 6, 2019   ❤️ 1
    @TomVista 额,具体业务该怎么校验就怎么校验。
    shintendo
        6
    shintendo  
       Sep 6, 2019   ❤️ 1
    表单校验不是基本的吗
    ys0290
        7
    ys0290  
       Sep 6, 2019 via iPhone
    把用户当成撒子
    Torpedo
        8
    Torpedo  
       Sep 6, 2019
    用户操作 问题,前端当然要处理。关键字段可以加校验,但是一般还是要相信后端。这种问题,你就想想假如都是你做,你觉得放在哪里比较好
    incheon
        9
    incheon  
       Sep 6, 2019
    必填不就行了... 这还用讨论吗
    babedoll
        10
    babedoll  
       Sep 6, 2019
    肯定要加验证的啊,验证不成功不通过。

    你前端不加,后端也要加的。尤其是必填字段。
    doco
        11
    doco  
       Sep 6, 2019   ❤️ 1
    昨天发现有个管理员把资源链接填成 www.baidu.com 的, 这应该属于手贱了吧...
    TomVista
        12
    TomVista  
    OP
       Sep 6, 2019
    @shintendo
    @incheon
    @babedoll

    我的意思是 业务那边怎么处理,不是管理页面必填的问题,,,,就是前端接到了不合理的数据,比如空值,null,类型不对, 就是理论上前端接不到的值 给发过来了,前端要处理吗?要验证的话,这个工作量其实挺大的,,, 不验证,怎么保证数据的'**性'

    小尾巴 --杀个后端祭天
    shintendo
        13
    shintendo  
       Sep 6, 2019   ❤️ 2
    @TomVista 那我倾向于不管,这个锅第一是后台的后端,第二是后台的前端,对你来说数据源都不合规了,还能怎么办。相当于给你接个百度天气当商品接口,你还鲁什么棒。
    jmc891205
        14
    jmc891205  
       Sep 6, 2019   ❤️ 1
    表单数据校验
    前端最好做 提高用户体验
    后端必须做 这是对抗错误 /恶意数据的最后一道防线
    AV1
        15
    AV1  
       Sep 6, 2019
    如果是脏数据问题,应该把锅砸给数据库管理员
    maomaomao001
        16
    maomaomao001  
       Sep 6, 2019   ❤️ 1
    @TomVista

    这个可以算是用户体验问题吧,
    比如,拿注册来举个例子

    项目前期,完全可以时纯后端检查 , 出错时前端直接用后台的错误(例如,邮箱格式不对之类的)用消息框( notification, 就是屏幕左下角,右下角跳出来的那种)提示就完全可以的。

    但是发展到后期,想优化用户体验的话,必然会做成,用户输错邮箱时,就已经在那一块下面出现邮箱格式不对,密码不合法之类的,而且输入框变红等等一系列反馈来提升用户体验

    总结:无论到那个阶段,后台验证是避免不了的 !
    Raymon111111
        17
    Raymon111111  
       Sep 6, 2019
    肯定要啊

    外部页面输入当成什么都可能输入来处理
    nicoljiang
        18
    nicoljiang  
    PRO
       Sep 6, 2019   ❤️ 1
    1. 照产品说的做,并且做的好,你高标合格;
    2. 产品没说,但你发现了并且及时沟通询问,然后做完善的,你优秀;
    3. 产品没说,但你发现了,然后自己做了,并且做的不错,你可堪大用;

    一个人的高度和你所偶遇的幸运,往往就源于自己的眼界和品行。
    incheon
        19
    incheon  
       Sep 6, 2019
    @TomVista 这种东西测试的时候就测出来了吧 要 id 的给你空值或者是乱七八糟的东西 肯定是后端的问题 关你啥事... bug 提给后端对应的同事就可以了, 顶多前端加一个报错的页面提示
    Lin0936
        20
    Lin0936  
       Sep 6, 2019
    把整个流程里的其他人全当成智障就行了。
    Mutoo
        21
    Mutoo  
       Sep 6, 2019   ❤️ 1
    页面要有异常处理,最低限度报告错误,尽可能把错误控制在模块,不让页面整个崩溃。
    learnshare
        22
    learnshare  
       Sep 6, 2019
    monky test - 假设用户是一只猴子,在网页上乱挠一通,系统并不应该崩溃出错
    phpcxy
        23
    phpcxy  
       Sep 6, 2019
    你都是请求接口而已,根据文档来输出就好了。后端小哥没验证好数据入了库和返回了错误的数据给你,他首锅。
    wd
        24
    wd  
       Sep 6, 2019 via iPhone
    前端处理是保证用户体验,后端处理是保证数据一致性。这两个互相不影响。
    impl
        25
    impl  
       Sep 6, 2019 via Android
    加个 required 那么难么
    zhifeng
        26
    zhifeng  
       Sep 6, 2019
    永远不要相信用户输入
    shintendo
        27
    shintendo  
       Sep 6, 2019
    不看就答的人真的多……
    fengbjhqs
        28
    fengbjhqs  
       Sep 25, 2019   ❤️ 1
    @TomVista #12 数据前后端都要做,

    我的经验是,不要太相信变量的数据类型,无论后端给的数据,还是前端自己的数据,除非自己效验过数据类型,

    写一个通用方法别,我是 tostring 和 lodash.get 做的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3972 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 93ms · UTC 10:23 · PVG 18:23 · LAX 03:23 · JFK 06:23
    ♥ Do have faith in what you're doing.