PowerShell provides additional comments to check the validity of the templates before actual deployment.
The Test-AzureRmResourceGroupDeployment cmdlet can be used to test the validity of a template before deployment. Please note that this cmdlet cannot catch runtime configuration, naming, and dependency issues between resources; however, it will catch and report issues if there are syntax issues or if the grammar does not follow the rules of ARM templates. It is recommended to use this cmdlet before actual deployment:
Test-AzureRmResourceGroupDeployment -ResourceGroupName "TestRG" -Mode Incremental -TemplateFile "C:\myARMTemple.json" -TemplateParameterFile "C:\myARMTemplateParameters.json" -Verbose