Add validation to the post grades model
Add validation to the post grades model

Fixes: SIS-748

Test-Plan:
See SIS-631

Change-Id: I9e0d74b25dced0a20592ba69b0f922a5a82d77c2
Reviewed-on: https://gerrit.instructure.com/46622
Tested-by: Jenkins <d95b56ce41a2e1ac4cecdd398defd7414407cc08@instructure.com>
Product-Review: Tyler Pickett <a460d6dd1fd0dd28a96a2ec27768abb6395dd22b@instructure.com>
Reviewed-by: Tyler Pickett <a460d6dd1fd0dd28a96a2ec27768abb6395dd22b@instructure.com>
QA-Review: Jeremy Putnam <b030d6d6f199f844ec424882be473c2ab9adc93b@instructure.com>

eCNAP/CANVAS,HotChalk/canvas-lms,juoni/canvas-lms,skmezanul/canvas-lms,jay3126/canvas-lms,snehakachroo1/LSI_replica,skmezanul/canvas-lms,matematikk-mooc/canvas-lms,Rvor/canvas-lms,greyhwndz/canvas-lms,samuels410/greatlakes-lms,tgroshon/canvas-lms,shidao-fm/canvas-lms,matematikk-mooc/canvas-lms,djbender/canvas-lms,narigone/canvas,grahamb/canvas-lms,redconfetti/canvas-lms,tgroshon/canvas-lms,sfu/canvas-lms,dgynn/canvas-lms,grahamb/canvas-lms,leftplusrightllc/canvas-lms,instructure/canvas-lms,wrdsb/canvas-lms,whalejasmine/canvas-lms,jay3126/canvas-lms,tgroshon/canvas-lms,eCNAP/CANVAS,sfu/canvas-lms,samuels410/greatlakes-lms,SwinburneOnline/canvas-lms,djbender/canvas-lms,Rvor/canvas-lms,sdeleon28/canvas-lms,snehakachroo1/LSI_replica,roxolan/canvas-lms,SwinburneOnline/canvas-lms,wrdsb/canvas-lms,djbender/canvas-lms,instructure/canvas-lms,utkarshx/canvas-lms,instructure/canvas-lms,instructure/canvas-lms,redconfetti/canvas-lms,greyhwndz/canvas-lms,instructure/canvas-lms,grahamb/canvas-lms,dgynn/canvas-lms,kyroskoh/canvas-lms,utkarshx/canvas-lms,efrj/canvas-lms,HotChalk/canvas-lms,juoni/canvas-lms,SwinburneOnline/canvas-lms,djbender/canvas-lms,sdeleon28/canvas-lms,wrdsb/canvas-lms,instructure/canvas-lms,SwinburneOnline/canvas-lms,narigone/canvas,Jyaasa/canvas-lms,venturehive/canvas-lms,ShreniiNepal/shrenii_lmp,AndranikMarkosyan/lms,leftplusrightllc/canvas-lms,instructure/canvas-lms,sfu/canvas-lms,HotChalk/canvas-lms,sdeleon28/canvas-lms,wrdsb/canvas-lms,antoniuslin/canvas-lms,sfu/canvas-lms,fronteerio/canvas-lms,shidao-fm/canvas-lms,greyhwndz/canvas-lms,shidao-fm/canvas-lms,kyroskoh/canvas-lms,va7map/canvas-lms,sdeleon28/canvas-lms,efrj/canvas-lms,efrj/canvas-lms,antoniuslin/canvas-lms,dgynn/canvas-lms,eCNAP/CANVAS,ShreniiNepal/shrenii_lmp,grahamb/canvas-lms,efrj/canvas-lms,samuels410/greatlakes-lms,antoniuslin/canvas-lms,juoni/canvas-lms,fronteerio/canvas-lms,Rvor/canvas-lms,matematikk-mooc/canvas-lms,va7map/canvas-lms,whalejasmine/canvas-lms,fronteerio/canvas-lms,AndranikMarkosyan/lms,ShreniiNepal/shrenii_lmp,sfu/canvas-lms,roxolan/canvas-lms,utkarshx/canvas-lms,redconfetti/canvas-lms,whalejasmine/canvas-lms,jay3126/canvas-lms,va7map/canvas-lms,venturehive/canvas-lms,snehakachroo1/LSI_replica,Jyaasa/canvas-lms,ShreniiNepal/shrenii_lmp,Jyaasa/canvas-lms,fronteerio/canvas-lms,Jyaasa/canvas-lms,antoniuslin/canvas-lms,sfu/canvas-lms,juoni/canvas-lms,roxolan/canvas-lms,whalejasmine/canvas-lms,shidao-fm/canvas-lms,narigone/canvas,greyhwndz/canvas-lms,leftplusrightllc/canvas-lms,jay3126/canvas-lms,kyroskoh/canvas-lms,samuels410/greatlakes-lms,sfu/canvas-lms,leftplusrightllc/canvas-lms,dgynn/canvas-lms,venturehive/canvas-lms,tgroshon/canvas-lms,kyroskoh/canvas-lms,skmezanul/canvas-lms,AndranikMarkosyan/lms,snehakachroo1/LSI_replica,skmezanul/canvas-lms,matematikk-mooc/canvas-lms,narigone/canvas,eCNAP/CANVAS,grahamb/canvas-lms,Rvor/canvas-lms,redconfetti/canvas-lms,va7map/canvas-lms,roxolan/canvas-lms,HotChalk/canvas-lms,utkarshx/canvas-lms,AndranikMarkosyan/lms,venturehive/canvas-lms