Well, not directly, because media queries and CSS in general are not represented in any way in Model-ViewModel two way binding of Angular. You'd need to bridge your media queries to your ViewModel somehow.
Probably the easiest route is exactly what you've proposed. With ng-required="isMobile"
you can have the field mandatory only when isMobile
scope variable is true.
To actually fill $scope.isMobile
you'd need to read the viewport dimensions, something like this:
var width = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
$scope.isMobile = width < 767;
// or whatever your mobile breakpoint value in px is
If you care, you should also listen to window.onresize
event to handle resizes and update the $scope.isMobile
variable accordingly.